Have you checked the frequency you are getting from the transmitter? You need a scope. Any miss match in frequency is going to affect the receiver's sensitivity.
It looks a very poor way of generating a pulse. I would normally use timers rather than use a whole processor.