This little trick comes at the cost of a certain amount of time spent cutting things up etc. In cases like this though, it is more of an optimisation for the engine to not have to render one large mesh than it is to calculate only what it sees in front of it. Imagine looking at a large landscape made up of 10,000 polys, and now imagine looking at only a small corner of it, the engine has to draw the entire thing in memory if it's one large piece - chop it up, and it will only draw whatever small meshes happen to be in it's field of view. A much better solution.
As mentioned before though, Normal Thief 1.0 is porobably the best way to go, as you can just leave it running overnight to do all the reassigning of vertices (it IS slow), but once done, you get a great result. When exporting to engines, you will probably need to collapse your stack (for example, if exporting to .X format), to do this, you will need to make sure you get the Service Pack 1 for Max 6 from Discreet as 6.0 shipped with a bug in which this wasn't fixed.
As far as I know, these are pretty much the only options at the moment, so if anyone out there can get Max to Unify the vertices properly as stated in their help file, please let me know.
Hope this helps someone a little.