One thing I'd look at: is the data inverted? That would make you receive garbage all the time. Put a scope on the signal an look. If that's the case, use a 4049 gate to invert the data.
JR