As I stated above, I don't think that the GPDL is that broken.
I think that we just don't know how to do a lot correctly.
By the by- you can use $MyIndex instead of $TargetIndex in the above code. Paul pointed this out as the better way to do it.
Oh, and by the way, not only has Paul spoken up, but so has Richard (CocoaSpud), and while they're not committing to anything, they are both taking a look at the code.