I'm assuming your using PBP3 and to do configs you need to do them like this and both "config" lines need to be in caps. I know PBP2.6 was different but with either version both "config" lines need to be in caps.

#CONFIG
;configuration directives in Assembly Language
#ENDCONFIG

TRISIO on the 12F683 is only 6 bits wide so I'm wondering if you need to change it to TRISIO = %111110. I think when you set the TRISIO and the GPIO as input and low respectively you'll always have a low at GPIO.0. When you set the pin low and told it to wait for a low it did what you told it to do. That is go to the demo subroutine. Since you changed it to =1 you had a state change and the chip could sense that. The reply by Acetronics2 did that by using the ! sign.

Your second take on the subroutine and endif look better.

As usual I'll await for someone to tell I'm wrong.