This type of fainting, which may be an inherited tendency, is called vasovagal syncope and is an overreaction on the part of your involuntary nervous system to some stimulus - in this case, an impending blood test or medical procedure. Some people faint in response to the sight of blood or to an emotional upset. Other common causes of fainting include standing for a long period of time and exposure to heat or crowds or both. Some people faint in association with anxiety attacks, strenuous coughing, or even urinating. In your case, anxiety about a blood test sets off an exaggerated nervous system response - your heart rate and blood pressure drop, decreasing the flow of blood to the brain and leading to the fainting episode, which is the body's way of protecting the brain from lack of blood. No doubt you usually recover quickly, within seconds or just a few minutes.
Although fainting can also be a symptom of some serious medical conditions (heart disease, diabetes, or a brain problem), the type of fainting you describe has no implications for your general health.
Some people experience warning symptoms before fainting, such as weakness, lightheadedness, nausea, yawning, sweating, feeling warm, or rapid breathing. If you sense that a fainting spell is coming on, lie down and put your legs up (this allows blood to keep flowing to your brain), or sit down and put your head between your knees. Lying down for blood tests may not prevent you from fainting but at least it will prevent a fall.
I know of no supplements that can help you overcome this tendency. But you may be able to avoid episodes via mind/body work such as relaxation techniques or hypnosis. Breathing techniques in particular may help you address an exaggerated response to situations that activate this part of your nervous system. The 4-7-8 Relaxing Breath that I teach will help you.
Andrew Weil, M.D.