Well, I have experienced with the same problem. I have tried many ways and finally get it fixed. As many of you have the same issue I have tried to replicate the problem and see how did I fix this (not because of your promise of paying ).
I think arigney's problem is you use skin that does not have any user and login control (the two tokens [USER] and [LOGIN] in the html file), so make sure that you do not miss them.
willbryer's problem is due to you do not have any login module on page selected as "Login Page" (thru site settings) you can do as the following to recover default portal settings
1. Connect to the database
2. Clear the value of LoginTabId of the portal you have problem with login, table Portals (settings are here)
3. Restart www services (or just kill the thread aspnet_wp) to clear the cache (I only know one way to clear cache )
4. Now, open the browser and see the result (you may need to click to login link several times to get the login displayed).