You'll need to use the 'Xfbdev' X server from the 'Xfbdev.tcz' extension to make use of any 'vga=...' boot code. If said X server is installed at the time of the 'startx' execution it will replace the default X server (i.e. 'Xvesa') and use the resolution and colour depth you specified via the 'vga=...' boot code. As you found out, the 'vga=...' boot code has no influence on the 'Xvesa' X server.
IMHO using the 'Xfbdev' X server makes only sense if your hardware does not work at all with 'Xvesa'. If OTOH your system is fine with 'Xvesa' but you want it to start with a resolution other than the default (which is 1024x768x32), then you should use a boot code like 'xvesa=640x480x24' instead.
Of course you should first check that 'Xvesa' supports your target resolution, which you could do by running Xvesa -listmodes