Why not just use a plain ol' pause statement for the testing part of your project? It'll at least eliminate the possibility of pulsin causing your problem.
Code:
main:
gpio.0 = 1
pause 2
gpio.0 = 0
pause 2 (then switch it over to 18 after you've verified a good square wave)
goto main
It's basically the same ol' blinky led program, but it'll get the ball rolling...