UPDATE:
Think I've got a way around this. Instead of re-sizing I just use this:
Code:
ActiveDocument.Shapes(oShp.Name).TextFrame.TextRange.Font.Shrink
... and it seems to work without having to loop around doing one point size at a time and it can handle multiple font sizes.