There are two things going on here. Raster images that are overlaid must be in Google's Mercator Projection, correct. However, when you provide shape data (polygons, points, etc) to Google's API to be rendered on the client, the JavaScript code transforms the points to the screen projection before being overlaid.
Comments
Not with the Google Maps Data API : http://code.google.com/intl/us/apis/maps/documentation/mapsd... Other overlay apps/mashups are using datasets for the most incomparably smaller than the base map data.
There are two things going on here. Raster images that are overlaid must be in Google's Mercator Projection, correct. However, when you provide shape data (polygons, points, etc) to Google's API to be rendered on the client, the JavaScript code transforms the points to the screen projection before being overlaid.