I have experienced what sounds like the identical problem. I have one particular spreadsheet: quite large and complex, about a dozen worksheets, lots of CommandButtons. The spreadsheet has been running fine for several years, under XL2003.
A few months ago I upgraded to XL2010, and since then I have had the behaviour you describe. It only happens with one particular CommandButton, and it only happens occasionally. I cannot discern any pattern wrt when it will happen and when it will not happen. When it does happen, it is in response to the activation of that button, not any other button. The moving is always upwards and to the left, but the amounts of the move vary. The resizing is always a shrinking, of both the box size and the text size. It survives being saved (and Excel being closed) then re-opened in a new Excel session. I have not explored whether having moved once it will move again later, because I always have to fix the problem up immediately after it happens.
It was driving me batty. In desperation I added a few lines of VBA into the WorksheetOpen event handler to put the button back where I need it to be. I'd love to know what is going on.