Hi Dave,
Would you care to elaborate a bit on WHY exactly that is such BAD practice (as long as you RETURN of course)?
Yes, it does put another return adress on the stack but really, that's usually not a problem - certainly not with 18F parts where you can nest 27 levels deep.

My guess is that the "blips" are comming from the frequent updates of the dutycycle using the HPWM command. It's my understandning that it (the HPWM command) reconfigures the CCP module completely every time it executes even though it's only the dutycycle that changes.

Another thoguht: I don't know about the "PLL-bug" mentioned but perhaps the HPWM command calculates the dutycycle value based on the wrong frequency so the registers overflows or something?

Bottom line is, try setting the CCP modules up manually and see if that helps, there should be plenty of examples around the forum.

/Henrik.