I just lost 2 days of my life to this problem, or at least something similar, so I wanted to post my solution in case it helps someone else.
I moved a functioning blog from one hostgator server to a new hostgator server and all of a sudden my wp-admin url would always come up with a 404. Everything else was working fine. I followed all the advice I could find on the forums but nothing made any difference. Finally, a hostgator tech support guy FIXED IT!
Apparently, at least on some hostgator accounts, all files MUST have permissions set to 644 and folders must have permissions set to 755. I guess this is the case for any of the php applications to work, but it is the case for WordPress at least. I don’t know why it’s that way, but he changed all the permissions and it worked like a charm.