Assuming it calculates the GB the same on the S3 and the S2, using the data returned in the XML data when connecting to my S2, I picked a program that reports its size as 2.14 GB on the TiVo. The XML data said the size is 2303721472. Dividing by (1024)^3 gives about 2.1455. Testing a 2233466880 XML reported size (2.08 GB) and the TiVo reports 2.08 GB.
So it looks like it does using the standard definition of a GB, but truncates anything after the 2nd decimal point.
So it looks like it does using the standard definition of a GB, but truncates anything after the 2nd decimal point.