. takes in the computer name not the virtual SQL computer name.
So in a 2 node setup take the following example (Node1, Node2, SQLName)
If SQLName is running on Node1 if you try to connect to . it tries to connect to a SQL server called Node1 not SQLName, same if it fails over it now looks for . as Node2 not SQLName.
Now in a standalone setup where the SQLName is the same as the Node name your ok, but in a cluster its not the same.