It seems to me that there has to be a mistake within the way the function ParametricPlot3D is programmed. When calling up objects that have been checked before to be the same the function gives different results.
(Therefore it's not a function at all!)
I wrote it down in a notebook for you so you can see for yourself.
Perhaps there's something I just don't see...
Attachment: ParametricPlot3D example.nb, URL: ,