I use the hydroxocobalamin (natural form of B12) - I do the subcutaneous injections myself. I don't absorb the oral form.
My cyanide levels were already extremely high, so I get the latter. Subcutaneous injection is ok, sometimes it stings, but it helps a lot, so I ignore the stinging. I had them intramuscular before, very painful, I could tolerate it, my sister went crazy because of the pain.
just a short description of the 3 B12's (I copied this somewhere cause it's a good short description):
Cyanocobalamin: can be given as an IM injection, not IV. However, after injection it will need to convert to methylcobalamin, and then to hydroxocobalamin to be used by the body. Of all the forms of Vitamin B12 it is the least painful for the patient to inject. After introduction into the body it provides a small amount of cyanide. For individuals who are overall very healthy this is a good choice and this is also the least expensive form of injectable Vitamin B12. It is known that some people, such as smokers, are less able to transform cyanocobalamin into methylcobalamin due to toxins and heavy metals in the liver. These individuals need to use other forms of Vitamin B12.
Methylcobalamin: is more bioactive and can be given IM, IV and intraarticularly. It is slightly painful to inject into the muscle. This is also a better choice for smokers who are unable to convert cyanocobalamin into methylcobalamin.
Hydroxocobalamin: is the most bioactive form of Vitamin B12 and mostly given IV as IM injections are very painful. If given IM it is mixed the local anesthetic procaine. Hydroxocobalamin is retained longer in the body and can be dosed less frequently. An additional application of hydroxocobalamin is that it can be used for patients with cyanide poisoning as it binds cyanide and allows for elimination through the kidneys.