Hmm... I built it in trunk 436 I had on my computer (can't get in assembla either) and it definitely does something... but it's the wrong Canon OSD that's sticking on the screen.
The metered Tv, Av and ISO values still only flash on my screen instead of staying there (actually they did stay a few times in a ghostly raster, but almost always they disappeared)
Instead, what's not disappearing is all the settings icons and top-right corner mode indicatiors of the Canon "full OSD" mode -- these are actually normally disabled from the screen by Canon while half-pressing. They are transformed into a ghostly raster.
This was with the gui_osd.c you postes without modifications. Also, the "old zebra lines not being removed" problem happens for me too.
I'm assuming the cropped mode is enabled by uncommenting lines 244 and 326, so I tried that as well. It's different but not much better. It doesn't remove old zebra lines either (expect on the border area outside the crop... it draws zebra there too and it's cleared correctly there). It transforms Canon OSD to that semitransparent raster also. It sometimes leaves the "full Canon OSD" enabled, but unlike the non-cropped version, it sometimes removes it fully or partially. When it does (maybe 1/3 of the time), the Av/Tv/ISO OSD sticks. So, this works better than the non-cropped one, but still not quite usable.
This varying behavior and it's 1/3 nature makes me think that the problem is that we're not fully aware which display buffer (from the MD speedup I remember we have three) is active and being drawn to, or something like that?
And for what it's worth, that ghostly semi-transparent raster is harder to read than the original Canon OSD, but it's readable and way better than not having the OSD there at all.