When you "change resolution", do you mean
on-the-fly, as in Ctrl+Alt+Num-+ ?
If so the problem is that the desktop resolution
will always be the resolution of the highest
available mode. If you need to have different
resolutions the quickest way to achieve what
you want would be a farm of XF86Config's
that you symlink to XF86Config alternatively,
and restarting the XServer.