Since I am now a veteran of having done this to myself a few times, there are times when this happens when I cannot bump off my users which would be the case in "Single User Mode", also you may find an application that automatically connects, thus not allowing you to connect. In a situation as this, one alternate method on a SQL 2005 box is to add your account to the global group "<servername\instance>\SQLServer2005MSSQLUsers$<Servername>$<instance>. This group automatically has system admin rights.
You can also log on using the service account if you happen to be using a domain account and if you are allowed to log onto the server using the service account. This is not typically allowed due to security levels.
Unfortunately for SQL 2008 this group is no longer available.