From my experience... in IE6, Ctrl + -/+ does nothing. Ctrl + scroll changes the text size, between the 5 different sizes (Smallest to Largest).
In IE7, Ctrl + +/- actually controls the zoom, not the text size. The same as using Ctrl + scroll. The only way to specifically change the text size is to go via the menu - AFAIK there is no shortcut for this. Although you say you are getting a different result when using the keyboard shortcut, to when you use the mouse? Do you have a mouse driver which is overriding this?
The new zoom feature in IE7 'attempts' to resize everything, including the graphics - although I'm not sure that it always manages forms too well.
In IE7, the zoom is reset back to 100% when the user restarts the browser. It seems that... the text size is also reset to Medium if the zoom is reset. However, if the zoom is not reset (ie. it was previously set at 100%) then the text size remains as it was.
Opera has only ever had the zoom feature, and does it very well. It also doesn't cause a horizontal scroll as it does it IE7.
Hhhmmm, not sure how you can control the "zoom".
Certainly if you are accommodating varying text sizes then ensuring you have a fluid enough layout to handle expanding text and if your text size is reasonable at the 'Medium' setting then it should be at least readable at the 'Smallest'.