It works when sign out button is present because your link does exactly the same postback as sign out button:
href="javascript:__doPostBack('p$lt$ctl00$SignOutButton$btnSignOutLink','')
When web part is not present on the page the is nothing that could handle postback above.
You can either implement custom aspx page that will perform sign out on page load and make your link to redirect to that page.
In case you're using editable text to place your link in consider creation of a custom widget base on Sign Out Button web part.