PLAYER_ALIVE fires for first logon but not for ReloadUI.
As a rule of thumb:
If you need to delay initialization of something on a clean start (entering the game from the account selection level) you can use PLAYER_ALIVE as it will fire after PLAYER_ENTERING_WORLD.
If you need to do the same after a reload (or entering the game after logging out to the character selection screen only) you can use PLAYER_ENTERING_WORLD and it will have the same effect.
(things that might not be available to the client at P_E_W on a clean start will be after a reload and for the rest PLAYER_ALIVE is usually delayed enough)
Bottomline if you need to use one of them, use both
and unregister when you've done what you want to do.