I get a similar result. If I enter 1:32:15.015 in a cell formated as "hh:mm:ss.000" it will display up to three decimal places in the seconds value (ie, thousandths of a second). If I enter =time(1,32,15.015) in the same cell, it displays "1:32:15.000" - it seems that the time function may return only integer seconds. When I add ten cells that contain the formula =time(1,1,1.15) the result of 10:10:10.000 indicates that the time values are indeed truncated to integer seconds.
Interestingly, while the original value entered displays as "1:32:15.015" - in the formula bar the value is truncated to "1:32:15 AM" - and the decimal seconds have to be re-entered if the cell is edited, and then they are displayed but again lost on the formula bar. When these are added, though, the fractional parts are retained - ten cells with 1:01:01.15 entered sum to 10:10:11.500...
Note - all on XL2003; I am not sure how other versions might handle this issue