I have two questions:
1) Is there a way I can retrieve the numbers of results sets in a DataReader?
2) Anyway to maybe get the schema of each result?
You should look out for dr.NextResult() and dr.GetSchemaTable(). Take a look over here for both your questions
http://msdn.microsoft.com/en-us/library/haa3afyz.aspx