Currently, the WMS class does not support reprojecting onto different baselayers. the code to make this work would not be too difficult -- it should be possible to use map.getLatLonFromLayerPx() to obtain a location, rather than calculating the bounds based on essentially what is a tiled id.
The WMS.Untiled already supports reprojection becaues it uses map.getExtent() -- this would be an extension of this logic into the WMS layer.
Note that KaMap and WorldWind layers can not support this, and neither can WMSes which do not work with non-square pixels. However, because this is in the WMS spec, such WMS servers are breaking spec, and are relatively few and far between.
The code to change is likely in the initTiles function of Grid.js, but since this won't work for WorldWind (which uses the same initTiles) it is most likely going to need to be subclassed/abstracted in some way so that only WMS is affected.
This is targetted towards the 2.2 release.