We've been encountering this error as well, and I've been looking into it, so I'll add some more detail:
I've encountered the issue with both pseudo-streaming and http providers, with both mp4 and flv videos, and both when controlling the player through javascript or the scrubber controls. It happens whether you seek into the currently-buffered section, or past what's buffered so far. It still happens with 3.0.8-dev, too.
However, it'll only happen when you seek and then play, on a clip that's already buffering. In other words, if you use autoBuffering:true or if you call startBuffering(), before seeking and playing.
I've dug into the source code some more (quite a bit, actually) and haven't found anything that would cause it, or even any likely culprits.
One interesting note: While the player is in the weird state like that, if you seek back to the beginning of the video (with javascript or the scrubber), it'll start playing correctly.
Here's the very basic sequence that can cause it, and what happens:
// Start with a basic player like Joust posted, but
// with autoPlay:false and autoBuffering:false.
// Then the following (with appropriate delays between):
$f().startBuffering();
// The video starts buffering.
// The metadata keyframe stuff loads in, etc.
// The first frame of the video shows in the player.
// The duration of the video shows in the time section.
$f().seek(20);
// The scrubber jumps out to that point.
// The current time updates in the time section.
// The player shows the frame from 20 seconds into the video.
$f().play();
// The play button overlay fades away.
// The scrubber and current time begin moving/updating.
// The video (and audio) do NOT play.
$f().seek(0);
// The scrubber and current time go back to zero (and continue updating).
// The video starts playing from the beginning correctly.
I hope that info can help in debugging the problem...