The blue shell doesn't decided who it's going to hit as soon as it's shot. It just races to the front, and once it's close enough, goes for the person in first. If the person who is in first, after it's decided who it's going to hit, is overtaken, the blue shell will still attack him, regardless of whether he's still in first or not. See how that works now?