Off the top of my head, I think its a baseline problem.
The question you need to ask is 'what date is 0.000' in VB, and 'what date is 0.00' in RB's datetime.
Quick testing in VB using this code
Dim d As Date
MsgBox Format(CDate(0), "dd/mm/yyyy") '30th Dec 1899
MsgBox Format(Now(), "0.00000000") '39764.6576252
shows that ground zero in VB is effectively 01/01/1900
And that today is 39764.something
I did a bit of digging and found that Microsoft at least has two systems of date accounting in Excel.
1900 for compatibility with MSDOS, and 1904 for compatibility with Mac programs, which started counting in 1904 to 'avoid' having to account for 1900 as a leap year. (It says here...:> )
The difference between the two date systems is 1,462 days; that is, the serial number of a date in the 1900 Date System is always 1,462 days greater than the serial number of the same date in the 1904 date system. 1,462 days is equal to four years and one day (including one leap day).
You may therefore be on the right lines, but 1462 days out in the calc...