Impossibility condition in the Byzantine Generals problem
all the papers [...] state that $3m+1$ with only $m$ traitors will definitely give 
  you the correct solution 


They should actually state that when $3m+1$ then correct algorithms exist, but not all algorithms are correct. 

Algorithms are like cooking recipes (in fact recipes are algorithms): Consider the problem of baking bread. There are books that tell you that you require flour, water and yeast (or similar). But not every recipe of the three will at the end resemble bread. 
Consider this one: Mix a spoon yeast, a spoon of flour and 5 litres of water, fill in glasses and refrigerate overnight, serve cold... Definitely not bread ;-) 

What your example shows is that the algorithm given in 1),2),3) is not one that solves 
the Byzantine Generals problem. (Note that it is well known that a correct algorithm will (in the worst case) need at least m+1 rounds.)

Answer to original question on CSTheory:

I think your miss-conception lies in the assumption 


  m+1 loyal generals should vote the same way


Why should this hold? 

Assuming you are talking about the problem as defined in LSP82:
For simplicity let's set $m=1$. Then with just $2m+1=3$ generals
you have one commanding general and two lieutenant generals. 
When the commanding general is correct, he and the correct general
will vote the same way. So in this case your assumption holds. 
But what if the commanding general himself is Byzantine? Then he can 
give different instructions to the two correct (lieutenant) generals, 
and they are no longer guaranteed to vote the same way. 

In general, if the proposer/commanding general is faulty then
there is no way to guarantee that all correct processes will vote in the same way.