Silly proof that 2 = 1? wtf?

In some part of this forum there was a link to silly math proofs such as 10 = 0, 2 = 1, 3 = 4 and so on. I've slightly modified one of those proofs in order to make it tricky to figure out what is wrong.

first of all, A --> B so A and B are almost equal. IIRC, ~ means something like almost equal so I will use it to relate the two.
A ~ B then multiply both sides by A
A^2 ~ AB then subtract B^2 from both sides
A^2 - B^2 ~ AB - B^2 then we factor both sides
(A + B) * (A - B) ~ B * (A - B) now divide both sides by (A - B)
A + B ~ B since A and B are almost equal, let's half ass simplify
B + B ~ B combine like terms
2B ~ B factor out B
2 ~ 1 what the heck?

At the step where both sides are divided by A - B, that is NOT a divide by 0 error. Since A and B are not exactly equal, that operation was perfectly legal.

Let's use some real algebra.
Say A=B+k, where k>0 (but is very small)
A2=A(B+k)=AB+Ak
A2-B2=AB+Ak-B2
(A-B)(A+B)=B(A-B)+Ak
A+B=B+Ak/(A-B)
2B+k=B+Ak/(A-B)
2B=B+Ak/(A-B)-k=B+k(A/(A-B)-1)=B+Bk/(A-B)=B(1+k/(A-B))
2=1+k/(A-B)
In your "proof" you ignored the k part. Of course A-B=k, so k/(A-B)=1, but in your "proof" you take k/(A-B)=0.