Here's what I would do.
I think you need to forget about tweens completely. You should move your character back and forth through the box2d world by applying horizontal forces to its center depending on which way the user moves him. This way, if the user changes direction, you'll naturally have your character slow down, turn and then accelerate up to full speed in the opposite direction. You can even make him skid and kick up dirt before turning. If you want immediate turning, well you can override this behavior. I prefer to apply forces rather than setting linear velocity whenever suitable.
Secondly, I think you need to have an imaginary camera that is centered on the character. This camera moves through the box2d world as the player does. But it does not move through the Sparrow world. It is stationary in the Sparrow world and the background moves behind it. So, each frame you step your b2World. Then you do a AABB Query on the world (check Box2D's manual.pdf - this is a fast query: log(N)) to find out all the b2Bodies that intersect with your imaginary camera that is centered around your player's position. Then you draw the SPSprites that represent those b2Bodies in the Sparrow world relative to Sparrow's coordinates (480x320). While the edge of the camera may be at position 6000.0f, 2500.0f in the b2World, you draw it from 0.0f,0.0f in the Sparrow view.
If this was combined with the sprite pools I mentioned in another thread, this would theoretically work well. I would probably avoid the sprite pools initially, though. I find it can be tough to implement all ideas at once and you can end up having to start over with a simplified version anyway. That's a lot to digest and there may even be easier ways of doing it, but that's my initial thoughts. It'd be pretty impressive if you can get all that working.