This problem is solved, but I wanted to share the solution in case anybody else was having trouble.
I tried to upgrade from SQL Server 2008 R2 SP1 to SQL Server 2012 SP1. Unfortunately during the upgrade, I received two error messages:
"No mapping between account names and security IDs was done" <--I received this two or three times during the upgrade.
"Value cannot be null – Parameter Name: userGroupName" <--I received this once.
For each of these errors, I was forced to click "Cancel" but the installation would continue and eventually finish. Most components would install correctly except for the critical ones: The Database Engine and SSAS.
Fortunately my 2008 SQL instance was still functioning so I wasn't shut down (I ran another production day as is), but I still needed to upgrade to SQL 2012.
Running the upgrade again didn't work. It would appear to work, but it didn't even try upgrading the database engine or SSAS. Even uninstalling SQL 2012 and re-performing the upgrade would not work.
I came across this blog post:
http://blogs.msdn.com/b/baliles/archive/2012/04/27/how-to-fix-a-failed-sql-2005-2008-r2-or-2012-install-upgrade-mssqlserver-inactive.aspx
This gentleman described very well how to identify inactive instances and delete them. I followed his steps and was able to uninstall SQL 2012 and re-upgrade, but I ran into the same problem again with the error messages.
After uninstalling SQL 2012 as described in the blog, I tried repairing my SQL 2008 R2 install. The repair yielded the same error messages, and could not fix it. Frustrating, but at least I could run a repair to see if the error was fixed or not rather than installing/uninstalling SQL 2012 over and over.
I ran into a number of posts describing this error and linking it to domain controllers run on SQL servers (not recommended). During an emergency a couple of years back, one of our admins upgraded our SQL server to a DC for a week or so. I removed it from being a DC after the emergency had passed, but I think this was still carrying some SID issues in it.
The solution:
1. After a failed upgrade, follow the blog post above to remove SQL 2012 inactive instances and return to SQL 2008.
2. Temporarily change any service accounts on the SQL server (Database Engine account, SQL Server Agent account, SSAS, etc. - I only had three) that are running. These were domain accounts in my installation. I temporarily changed them to use my account (with admin rights), then after applying, I immediately changed them back to their original accounts.
3. I ran the SQL repair tool again (control panel -> uninstall/change the SQL Server program and click "Repair") and had no problems. I don't think repairing did anything, but it didn't hurt and when it ran without errors I knew I was ready for a SQL upgrade.
4. Run the SQL Server 2012 upgrade.
This worked for me. I hope it can save someone else some time and money.