I don't know... seems OK
As far as I can see, the scaling problem for non integer zoom levels, as described in the first post, must originate in the way the scale transform parameters are defined.
With the short procedure in my 3rd message, we define the scaling factor that corresponds to the zoom+ step and the zoom- step. We then set the GMap zoom level to the integer part of the real zoom level and apply this scale factor to the embedding border.
Two special cases have to be accounted for :
1) when realzoom reaches an integer value, we eventually adjust GMap.Zoom and reset the embedding border scale factors to 1,
2) when realzoom gets one zoom step below an integer value, we set the scale parameters to their max value (GMap zoom has already been decreased by one.
Hope this helps