I see your point.
You still overwrite each and every control's OnMouseUp, but you don't do it by hand, which is kind of a progress.
Problem I see: this move is quite unexpected for anyone modifying my code in the future, including me in a year's time or so :-) So if someone decides to define his own MouseUp event for any control, my routine would silently reverse his definition on FormCreate.
I still don't like the approach, though you showed me some kind of automating it :-)
No bad words, just a matter of taste :-)
Greetz, Armin.