What sort of monitor do you have? it sounds like XFree may be trying to save some part of the computer from being damaged. I take it you can reach the relevant resolution in windows or you know that the monitor can handle that resolution. What about the horizontal and vertical refresh rates? are they set up correctly.
it is a bit weird. when it starts in 640x400 mode can you then do a ctrl-alt-F1 and see any error messages there that may be saying why its doing this. At the same time check what file XFree is looking at. Make sure its the one that you've been editing.
If none of the above help then try and turn on debugging messages and look at the Xfreelog (should be in /var/log/ somewhere). see about posting it here.
we need to find some error messages so that we can find out the *exact* problem, and then find a solution. It may just be a case of buggy drivers for your hardware combination. In which case, you/we'll need to look into filing a bug report (checking that it hasn't been done yet).
At the moment, vesa will run just fine but it won't really utilise any of the nice bits of the hardware. All the graphical processing will take place on the cpu and the card will merely be used to send the right signals to the monitor. If all else fails, try looking at DRI support. They *may* have a driver for the savage card. Otherwise a frame buffer device could be used.
use
www.google.co.uk/linux (or whatever the country code is for) to find more on these terms. DRI have their own page which is probably DRI.org
hth
Alex