Hi Charlie! When you've done the extracting, are you sure that you haven't set any aggregations or allowed any data source filters to be enabled?
I had considered this as a possibility and to test it I went and created a new workbook and made a brand new connection.
The first thing I did with the new notebook was create the connection as Live and checked the number of rows. Doing this returned the correct number of Records.
Then I went back to the data source and changed that to an Extract at which point the number of records extracted was randomly limited.
If I switched that back to Live again the number would be corrected.