I'm not sure it's true that normally you would have low B12 if you have low iron. It can happen, but it doesn't have to happen. There are two types of anemia I know of, and one is iron and the other is B12 and you can have one without the other. High B12 can be a sign of liver disease, and if you have a good doctor he would have looked at this as a sign of possible liver problems. While B12 is mostly water soluble, it also stores excess in the liver for use later. High B12 in itself isn't a risk factor for anything in particular, so if your liver enzymes and other diagnostics of your liver show no problem there you don't necessarily have any health concerns having high B12. There are potential reasons why you might have high B12, though only potential, not definite. One would be a lack of folate and B6. The three are in balance in order to have healthy homocysteine control and when they're out of balance it can be a problem down the road for the heart, maybe. It could be your liver stored a lot of B12 because you were given way too much of it and it hasn't flushed out. It is hard to have a diet that's too high in B12 because, again, that's not a health problem really absent being a signpost of a liver problem and also because your body will evacuate what it doesn't need. What I'd do is ask your doctor about potential liver problems, and I'd also get another blood test to make sure this one wasn't an anomaly. Peace.