Is there any way to display a Google Map (embedded via the Javascript API) in grayscale without losing any other functionality?
IE has the filter: gray
directive.
It renders any HTML element in grayscale. JSFiddle here.
You may be able to apply this to the map's parent DIV. It may turn the map it contains in to a grayscale represtenation. I can't say whether this will work without side effects - you'd have to try. But it's well possible.
IE only, though, but supported since Version 4.
Grayscale Filter docs at MSDN
Other than that, I think there is a Flash API for Maps, isn't there? It might be easier to achieve there.