What you're seeing with the 2nd version is read-modify-write. The HIGH/LOW commands
use BSF/BCF to toggle port bits. Doing this too quickly, one after another, causes the
read-modify-write problem. This is in most PIC data sheets and the midrange ref manual.

Try this. If it works as expected, then you're 100% sure the problem is read-modify-write.
The only difference here is you're allowing each port bit time to change before the next
read-modify-write operation.

loop:

HIGH PORTB.0
PAUSEUS 25
HIGH PORTB.1
PAUSEUS 25
HIGH PORTB.2
PAUSE 250
LOW PORTB.0
PAUSEUS 25
LOW PORTB.1
PAUSEUS 25
LOW PORTB.2
PAUSE 250

goto loop

END