Colin,
Write a little .prg that reads the .frx and alters the width based on the field and font. The frx uses units of 10,000 ths of an inch. You'll need to convert the screen pixel size using a conversion factor, probably best worked out with a little trial and error.
>Actually, I do calculations using FONTMETRIC() quite similar to what you show here for my forms and put the value in the controls .Width property. My problem is doing the same thing in the Report Designer. Any ideas?