Actually, Catmul Clark and Doo-Sabian are just algorithums for subdivision, in and of itself, they are not subdivison surfaces. Anyone (I believe) can use these algorithum to implement their own subdividing operations, but from my understanding, most softwares use these as the bases for their subdividing operations and built custom functionality on top of it. In another words, these only serves as the base rules for how the polygon subdivides, and can be varied from application to applications. So when 2 software uses Catmul Clark algorithum for their subdividing operations, it doesn't neccessary mean that they are both the same implementations..
I feel your pain
Most people nowadays are VERY confused of what subdivide and subdivision surfaces is and when I explain to them, they will fight til the end to defend that their polygonal smoothing operations are subdivision surfaces. I do blame this to the companies for OVER misusing the term for their marketing purposes. Even some of the responses from this post, I see people are very confused between the difference of subdividing a polygon and a subdivision surface, which is a hierachical, parametric, curved surface (a class of its own, like nurbs or polygons).
As soon as people see a low poly cage controlling some sort of high res geometry, they assume thats subdivision surfaces. Subdividing polygons is always polygon, they are not subdivision surfaces. Subdivison surfaces is a high order, parmetric surface that in a way similar to nurbs (that it is a true curved surface based on b-splines) that is generated based on a control cage (actually it doesn't really have to be, but I guess its a conventional approach to modeling subd surfaces...). Therefore it is adaptive, and it is always smooth. Unlike polygons, it doesn't need multiple iterations of subdividing to obtain a smooth surface. When people say "true" subdivison surfaces, thats what they mean. It really has nothing to do with polygons.
When using multiple iterations of a smoothing algorithum to subdivide a polygon to obtain a smooth surface is simply subdividing. Actually, most cases, when you get close enough to a smoothed or subdivided polygon, you will still see straight edges, because it is not infinitely subdivided.
Good example would be the subdivision surfaces in Maya Unlimited and the 'smooth' operation in the polygon tool. One is a subdivision surface and the other is simply a operation for subdividing polygons. This is the same for most other apps. The only apps that I know of (there could be more) which has subd surfaces are maya and houdini. I am not sure if Max's HSDS is subd or not, but it could be. On a side note, metanurbs in lightwave is somewhat different. Of course they are not nurbs, but they are somewhat of a hybrid between poly and subd and are kind of on their own. It uses polys, but has the properties of subd surfaces as well. Pixar actually used LW to model a lot of Geri's games' clothes because it was very similar to their own subd tool.
Hopefully, people will start ditinguishing between the 2. And I suggest people to follow the link above and read what Larry Gritz has to say if they are still confused. There are a lot of siggraph material on this subject that goes into greater detail of subd surfaces. I suggest people to take a look at it as I think it should be something that should be pushed in the next few years, especially for film work.... we shall have no more nurbs patches...... no more.....