Yes, I don't usually use getglobal. This is *very* old code (yes, pre-TBC stuff, it's worked as is for that long), and in my defense I was concerned with the line after the getglobal, I never even saw it there.
I've never run into any sort of issues with handling things on the same event as Blizzy, their code has always run first. Even if it's not an explicit design, I've never run into troubles expecting Blizzy event handers to before mine.
No, don't hook UIParent's OnEvent. Make an anon frame, it's much much cheaper and safer. You can make an ace-style event dispatcher in a single line of code. I use this in many of my own addons.