Hi,
DT-Ints works at the hardware level. When an interrupt occurs it causes the PIC to (without intervention from the actual program) to jump to interrupt vector. From there it's up to the user to decide what needs to be done. In the case of DT-ints it first saves all the internal PBP variables then it executes the ISR "coupled" to the interruot sources you define. When it gets to the @INT_RETURN it restores the system variables and then continues the "original" program wherever it left it.

As you hopefully can see here, anything that is executing when the interrupt fires will be put "on hold" while the ISR is executing. If you're in the middle of a PAUSE 100 when the interruopt fires, those 100ms will be "extended" by for the duration of the ISR plus the time it takes to save/restore the system variables.

This is how interrupt works and there's nothing you can do about except write the code so that it doesn't rely on software timing etc. The only drawback with DT-Ints compared to using "real" interrupts at the ASM level is the time it takes to save and restore the system variables but it's something that needs to be done in order to be able execute PBP code in the ISR.

Now, ON INTERRUPT works differently. Instead of allowing the hardware to trip the interrupt at the hardware level it inserts code between each of of the PBP commands. The inserted code simply checks the interrupt flag and if its set it jumps to the ISR. Now, if an interrupt occurs during that same PAUSE 100 the interrupt flag won't be checked untill the PAUSE 100 is complete because the interrupt flag is polled between each PBP command. So yes, with ON INTERRUPT interruopt quits firing during SERIN or anything else really.

ON INTERRUPT allows you to use PBP commands in the ISR and self timed commands like PAUSE, SERIN, PULSIN, SOUND etc etc to work with the (very big) drawback of latency.

You really should concentrate on getting HSEROUT/HSERIN going. How's the hardware designed, do you have a MAX232 etc between the PIC and PC or are you running straight from the PIC? If the later then you need to invert the polarity of the EUSART output, something which can be done in the PIC - on some chips, I haven't checked the 16F1829.

/Henrik.