The difference in the results of geoprocessing in version 9.0 versus the geoprocessing in version 8.3 is a product of design differences between the two versions of ArcGIS. Both versions are correct; the methods of calculation differ. For example, in version 9.0, union computes the geometric intersection of two feature classes so that all features from both feature classes are split at their intersection and preserved in the output feature class. In version 8.3, union overlays the two polygon layers so that the resulting output layer has the combined attribute data of the polygons in the two inputs, but also contains all the polygons from the inputs, whether they overlap or not. This difference may result in more features in the output feature class when using union in version 9.0 than when using union in version 8.3.