(local) would be a SQLServer term that referrs to the current machine. I'd expect it to use the preferred connection method (TCP/IP or Named Pipes depending on the install).
localhost is a TCP/IP term, but that doesn't force it to use TCP/IP instead of Named Pipes (just for fun)
I expect that the reason that it's not working on the Dev machine is that the sqlserver on the dev machine has either 1) TCP/IP or Named Pipes turned off, or the more likely is that there is a firewall on the dev machine (this includes RPC/Named Pipes patches that microsoft release weekly).
All-in-all you should rather be using (local) as it will work more often.