Ok, my code followed that pretty closely, and it has been working. Still not sure why it started failing. It looks like the DMA hardware gets stuck on one block (varies which of three) and won't advance (the last block finished isn't updated and the actual pin output doesn't change).
I found several forum entries that state that having that ISR enabled like that code had, causes the effects I see (DMA stops shortly after starting). But that is the one difference, I don't enable or use the ISR. So I guess next is to actually use it as maybe the thing that changed is that without the ISR it will stop.