Ok, 2 suggestions:
1. I didn't try it, but can't you test if it is the first post in the hook that gets executed as last in processing the current post, and then simply unset (or make empty) the postbit variable if it is the first post?
2. Use continue or break:
Continue will stop processing the current instance of the foreach, while,.. loops, and procede to the next element in the loop.
Break will stop the current loop, and will continue at the statement following the end of the loop.
If you are nesting loops, for example:
PHP Code:
foreach ($rows as $row) // loop 1
{
foreach ($row AS $field) // loop 2
{
location A. ...lets put something here..
}
Location B
}
Location C.
If you put the following on Location A:
continue; - Will stop processing the current item and continue the next item in loop 2
continue 2; - Will stop processing the current item of both loop 1 & 2 and continue the next item in loop 1 (continue X, will break the loop for X nested levels)
break; - Will stop processing loop 2, and continue as Location B
break2; - Will stop processing loop 1 & 2, and continue as Location C
Edit: Hope this helps, because i didn't totally understand what the problem is.