Both code chunks are essentially identical (with the obvious RETURN vs GOTO exception), and both should function equally well (aside from the obvious program flow differences).

Do you have a pullup/pulldown resistor on PortB.0?

What's connected to MCLR?