Just curious... You mention setting the TRIS register to output, but do you also set the pin high?

TRISB = %11111110 'SET PORTB.0 TO OUTPUT
PORTB.0 = 1 'SET PORTB.0 OUTPUT HIGH

Or, perhaps your program completes the loop so quickly that the LED appears to go/ remain off? Perhaps a pause here or there will determine the matter? I find flashing the LED will, at times, make clear these anomalies. I am not so expert as to say with certainty, but... is setting the port state to zero (in the first lines) prior to defining the TRIS state (further down) effective in doing what you intend? Perhaps so, I have read (I believe) that the registers default to input - in which case, why define the TRIS at all? And, does doing so effect the port settings previously made?

Hmmm... It appears I have more questions than answers; how can that help?