By looking at the files, I suspect, when you design a unit to upgrade along the mage path it will upgrade that unit to what-ever staff that will give it the most fire / cold damage available. So if you gave your units a bonus to say ice, like an ice amulet, it should upgrade to the next ice staff because that will be greater damage sum than the fire staff (I suspect by looking at the .xml data) Not sure
Ok, I'll test it *goes off and tests*
Ok, I'm back. I gave a new unit the Ring of the Glacier, then chose the 'upgradable magic staff' and was given the fire staff. Unless I'm misunderstanding what you mean (is there some other way to give a bonus to ice of which I'm unaware? -- wouldn't be the first time...), it appears to not help.
As for your spear problem... do you have crystal? If you don't have crystal it won't upgrade your weapon as intended.
Good question! Just tested this. I have 36 crystal in the 'bank', chose the upgradable spear and still get the plain spear (this is in the 'Design' window). Built the unit in my capital, it has the plain spear (and interestingly enough, no upgrade weapon option for the unit). Capital has the 'Heart of Fire spell active, so I then built the unit in another city with no spell augmentation, and that unit also had the normal spear and no option to upgrade weapon.
Thirty-six crystal should be more than enough for the unit at creation and also to upgrade weapons, so the test suggests not WAI.
Thanks for the help with this 
Kael et al -- I'm not complaining! Lots of stuff is working great. I've been 'just one more turn' for the past 4 hours!