I have seen the same recently when I tried to convert my Picaxe scope design to use background hserin (which would make some of my program much more elegant). Keeps messing up my PWM output which drives the sample logic. At least in my case the change seems to be a lowering of the PWM frequency by a factor of 4 when hserin receives a byte. It really seems related to hserin, because when I go back to serrxd for receive instead (while still using hserout for output) the scope works perfectly fine. I tried to fix this behavior but after several days of trying have given up for the moment. It probably would be a good idea to strip down the program to a bare minimum which shows the effect.
Some details: Picaxe 28X1, ran it at clock frequencues of 20 MHz and 16 MHz (external resonator) as well as 8, 4, 2, and 1 MHz internal oscillator. Tried it with several hserial data rates between 9600 baud and 112kbaud; PWM is running at 1 MHz and lower. The problem was there in all cases.
Wolfgang