I was just wondering whether the python function Mesh.toTriangles(ngon) is supposed to be part of the current python system any more?

If it's supposed to still be there, I guess no-one has realised that it hasn't worked in a while? If it was removed on purpose then it hasn't been completely removed? or is it a problem with the compatability of newer versions of python?

The Mesh module was never completed, NaN went away before it was finished. In its state, it's just a wrapper in Python of NMesh. It would accept n-sided gons and have good tesselation in the Publisher version, probably, but that now is history.

The new implementation isn't part of official Blender versions yet, we expect to integrate it for 2.28. It will have NMesh with bug fixes (and people to regularly fix bugs in the Blender Python code), but not Mesh.