Just looked at the TStream code and it seems that Seek method is intended to be abstract (athleast based on the in-code commentary.
But instead of it being marked as abstract where you have no method implementation it already has some code to do its job but it also has some rather strange code to check if you are calling this from base TStream or not.

Also looking at the code it is clear that TStream as such can't be used to store any data as it doesen't have any mechanizm for this.
So I'm guessing that TStream class is more like a template upon which all other streaming classes should be made.

EDIT: Documentation is confirming my guess.
The TStream class is a base stream class that all other stream classes should be derived from. So it can't be used as such as it doesen't even implement any data storing mechanizm on its own. You need to use one of the decendant stream classes.