Thanks Jeff,
That's really good to know. I ran into this some time ago, and blundered into the solution on my own. However, this was after a significant rewrite of my application, and even then by accident.
At the time I did not make the (obvious) connection between the problem and solution, but assumed I'd been doing something incorrectly and now had the right approach.
So thanks for putting the big picture together, and publishing the whole thing so the rest of us can avoid this in future.
Now, hopefully Sparx will get this repaired, and also let us know...
David