For a long time, the "guidelines" of medicine have insisted that we get fasting cholesterol levels on patients. Why? The theory was that we really need to target LDL ("bad") cholesterol, and the only way to find out "exactly" what your LDL was required getting a fasting blood sample.
There are many holes in this guideline. First, the "lipid hypothesis" has mostly blown over. Many studies have shown that you can treat lipids really well, but do nothing for the patient. We can target that LDL to the lowest level, but still not affect whether the patient gets a heart attack or stroke. A great overview is on this is in this podcast, from the guys at TEC.
Secondly, you don't really need an LDL to make a general risk assessment of how high risk a patient is for a heart attack. As you can see from this chart, you really only need to know your total cholesterol and HDL ("good" cholesterol) to get an idea of your risk. The LDL doesn't matter that much.
Now we have a great new study published in the Archives of Internal Medicine, showing that it does not really matter if patients fast or not. The cholesterol levels do not change appreciably enough that it would affect treatment. The related commentary falls a little short of advocating for docs to stop doing fasting cholesterol tests, but says that doing so is reasonable for most patients.
Finally, I often had patients come to my office at 2 pm, having fasted all day, just to get their cholesterol test. This is just inhumane. I do not feel good when I fast, and I don't think my patients do either. Doctors need to start accommodating patients instead of following guidelines.
One more thing. Does your doctor say you need a fasting blood sugar to screen for diabetes? Nope. We can screen for that with an A1C test, which doesn't require fasting.