I believe you were running your HDMI connection through some sort of
intermediate device yes? If so I would suggest connecting directly to
the TV, running nvidia-settings to try and get the correct resolution,
when closing nvidia-settings it will write a new xorg.conf so it
should use that from that point on rather than trying to autodetect
the correct resolution (from there you should be able to plug back
into your HDMI switch thing). I have had similar problems in the past
with trying to detect correct monitor resolutions through a KVM
switch. Wouldn't surprise me if that was happening here.