My mistake. As it turns out, it isn't a Windows XP / Windows 7 issue, but a large font, small font issue. I designed my form with large fonts, and when I compiled it and move it to a computer that didn't have large fonts turned on, the button was too big.
I think that the problem is in CalculateButtonAutoSize(); there are a couple of places where constants are added to the height and width, and I think those are causing issue when switching between regular fonts and large fonts. There aren't any comments beyond "Pad the text size" and "Pad the result", so I'm not sure where those numbers are coming from. I think that those numbers need to be replaced by values from the operating system, but I don't know which values to get. Does anyone have any suggestions?