My guess is that when conditional expressions are equal, VB defaults
to the Else condition, and JS to the If condition. If you change to
If angratio >= arc2crd Then
then you get the 'correct' answer (though not really)
Your input yields 2=2, thus shunting to the Else condition, which
happens to yield the wrong answer in this case.
Personally, I don't like the algorithm in that it isn't convergent to
the answer, just the increment.