This works - but it looks really stupid.
When I create the gridscreen I initialize a variable (adjust=0)
When I open the springboard from msg.listitemselected() I set a variable (adjust=1) as I assume it's going to focus the wrong poster at some point.
When the springboard closes then it sends msg.listitemfocused() - in this routine after it prints the message I have it setlistitemfocused(row,col) and then it highlights the correct poster and I change the adjust variable back to 0.
However, initially it highlights the wrong poster, and then immediately shifts to the correct poster.
And if your internal poster count for the component is off by 5 or more posters, it is visibly worse.