Also, you don't need your MouseHoverToolTip_Hide function... the default UI already defines a GameTooltip_Hide function that just hides the default tooltip, suitable for passing directly to SetScript, so you should just use that instead of creating another function.
Code:
chatframe:HookScript("OnHyperLinkLeave", GameTooltip_Hide)
Other than that I don't see any issues.