PIC16F1783 PSMC PWM jitter problem
It appears that my guess is correct - the PSMC module can't handle having intermediate values stored in the duty-cycle registers.  I modified my code by doing the math in temporary registers, then copying the results to the duty-cycle registers.  The glitching is gone.

SetPWM_Auto
    incf        SPEED,W         ;add offset (can't have zero duty-cycle
    skpnz
      movlw     0xFF            ;don't allow speed to wrap to 0x00
    movwf       TMP0            ;*** use temp registers for math
    MULX132     TMP1, TMP0
    SETBSR      PSMC1DCH
    movfw       TMP1
    movwf       RBS(PSMC1DCH)
    movfw       TMP0
    movwf       RBS(PSMC1DCL)

;    movwf       RBS(PSMC1DCL)   ;save speed in lo byte
;    MULX132     RBS(PSMC1DCH), RBS(PSMC1DCL)    ;w *132 -&gt; dcH:dcL

    bsf         BBS(_PSMC1LD)   ;load steering and time buffers
    rampg0
    goto        SetPWMdone


Note that the temporary registers are in shared RAM.

I'm leaving the question and answer up for reference in case someone else has a similar problem in the future.