As an occasional user it’s the first time that I hear about the “inner member” (but this makes sense). I always thougt that if something looks good in the web browser thenit would look fine on a Garmin, too. What a mistake!
The mkgmap multipolygon code is very strict, so if things aren’t tagged correctly it usually won’t render correctly. The mapnik multipolygon code is much more generous, allowing for mistakes much more readily. The good thing about the mkgmap approach is that it generates error messages which you can then use to fix the OSM data.