ProcessFlow Escalation is a beautiful thing - most of the time. I recently discovered that if ProcessFlow escalates a task from one UserAction to another that it won't escalate again from the 2nd UserAction to a 3rd (even if I have escalation built into that 2nd UA).
I was told that it shouldn't HAVE to do that - to which I replied "tell that to my client." So how did I escalate a task twice? I created a 2nd flow that would Query the WFWUQUEUE (joined to WFACTIVITY) table for any record which had been escalated - Display Status = 1 and Reassign Flag = Y (already escalated) and Reassign Task != (not equal blank) and the WFACTIVITY Start Date = whatever date.
When I found these records I used an AGS call to WF46 and simply changed the TASK to the next level UserAction that I wanted to escalate to. It's that simple. This flow runs nightly from the ProcessFlow Scheduler.