jtc,

I've also played with this. I can't help you too much, but have you tried using 'NumWFOCycles' instead of WFOPeriod? This breaks it into equal cycles. For instance, NumWFOCycles=10; will split the time period into ten equal cycles.

If you do find some improvement, I would love to see it. I've been fiddling with this myself.