I came across this earlier today. I didn't realize that hooking Win32 calls could be so simple.
Loading user information from Channel 9
Something went wrong getting user information from Channel 9
Loading user information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
It's only simple because you're using a library that hides the complexity.
It's worth pointing out that detouring functions is entirely unsupported in Win32. If you do it, Watson will automatically discard crash dumps that patch Microsoft libraries (because it can no longer tell if you crashed because you screwed up the internal Microsoft library state) and they won't make any attempt to ensure that you program continues to work past any given Windows Update or change of the OS.
As soon as you begin detouring functions, you live entirely on your own.
I'm not sure why you would want to detour for legitimate reasons. Science? Anyways. I couldn't see someone using this in production, it seem more suited for a test environment.
AppCompat is pretty much the only good reason.
And even then, that's a good reason for Microsoft to do it. Not a good reason for you to do it.