I have found no direct answer to my question, just a work-around.
Installing Powershell 4 and using installutil again to register the .dll files for the Sql Powershell Snapin seems to have worked. No matter what I did with installutil when running PS 3, it always registered the snapin in for version 2 of Powershell, which would not work.
Get-PSSnapin -Registered
would always show the SQL*100 dlls correctly registered, but for version 2 of Powershell. Repeating the same command for the same dlls when running version 4 would register them for version 4. From there, I could run Add-PSSnapin Sql*100
and Invoke-SqlCmd
would then be available.
Although this helped me, it is likely to be something environmental that has gone awry and this answer is probably not going to help anyone much.