draw((0,0)..tension 2..(0,50)..(100,100));is read as
draw((0,0)..tension 2. .(0,50)..(100,100));So the first . after the two is treated as a decimal point. Just put a space after the integer tension value:
draw((0,0)..tension 2 ..(0,50)..(100,100));
Asymptote - 01 November 2006