Thanks Steve. ValueAt will return 0 for vertices /on/ the plane, so it seems like an unreliable way to determine which side the mesh is on. I went instead for the Center of the BoundingBox of each mesh.
However I have now found that Split is returning meshes with no normals. Is that a bug? There is no mention in the RhinoCommon doco on this. Do I need to call Mesh.Normals.ComputeNormals() after Split()?
Also - if there are say 5 clipping plane, the management of the many many meshes arising from this process is a little ugly.
Thanks
Paul