I ran into a head-scratcher today...
How can this code:
var index:Number = rows.getItemIndex(partition.placeholderRow );
trace( index + " " + (rows.getItemAt(0) === partition.placeholderRow ) );
give this output?
-1 true
rows is an ArrayCollection with one element. partition.placeholderRow exists and is a valid object. I haven't mucked around with rows.source at all.
Answer follows in comment (so you don't peek ahead and cheat!)