Jingjingbb,
Andrea is pointing out an important concept. C3D is based on triangles and InRoads is based on features. When I imported your files into InRoads I used Surface>Feature>Feature Properties to review the results of the import process. I found 1 exterior boundary feature, 1 random point feature and many contour point features in each of your surfaces.
I viewed the contours of each surface and then ran the Surface>Utility>Generate Inferred Breakline command. I then viewed the contours again. The contours changed.
This has to do with the difference in triangulation rules for breaklines features and contour features. The Generate Inferred Breakline command adds (or inferrs) additional breaklines into the surface to correct for the differences of Breakline feature and Contour feature triangulation rules.
Unfortunately I can't run a triangel volume on your surfaces. My report window is not displaying so I can not tell you the result of the Generate Inferred Breakline command.
As pointed out, InRoads is retriangulating the C3D surface after importing it. This is changing the triangle mesh due to the different triangulation rules InRoads has because of it being feature based. When exchanging surface data between different products, features should be put into one surface and the triangles into a second surface.
Tomorrow I will edit the XML files. I want to delete ALL feature information from the files. This will leave ONLY the point and triangle data in the XML files. Without feature data to be imported, I believe InRoads will import the triangle mesh as a triangulated Digital Terrain Model (DTM). Then I believe the Triangle Volume calculation will generate the same result as C3D did for you.