I'd suggest you post this question on a .Net forum (or maybe somewhere like StackOverflow). The functioning and internals of the SQLDataReader is all .Net, nothing within SQL Server itself, hence this is probably not the best place to ask (we're DBAs and database developers mostly, not .Net programmers)
Also, deep knowledge of the internals is not necessary in order to use the .Net classes
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability