Well, it wasn't really a suggestion. I was just pointing out part of the problem.

My suggestion would be to place the b0 = 0 line just prior to the IF PortB.1 = 1 line. Like this...
Code:
Tx:

Include "modedefs.bas"
b0 VAR BYTE

Start:
    LET b0 = 0
    IF PortB.1 = 1 THEN LET b0 = 1
    SEROUT PortB.0, N2400, [b0]
    PAUSE 10
GOTO Start
And, add a short pause in the loop. Just to space things out a bit.

Then on the receiving end...
Code:
Rx:

Include "modedefs.bas"
b0 VAR BYTE

Start:
    SERIN PortB.0, N2400, [B0]
    IF b0 = 1 THEN 
        HIGH PortB.1
    ELSE
        LOW PortB.1
    ENDIF
GOTO Start