Hi Paul,
This is what I did and see if i understand what is happening to you. By the way, I wholeheartedly agree with you that the Creo mirror functionality has the serious limitation in that it always mirrors about the "internal" x-y plane.
Shown in the image is an assembly of three components each constrained by "default".
Starting with the light blue part: if you do a save-as mirror function to that part you will end up with the dark blue part. Note that the mirror plane is the x-y plane of the default coordinate system.
Now, suppose what you actually want is the light green part - one that's been mirrored about they y-z plane. Well, if you use the assembly method of mirroring and create the mirror component (green - MIRRORED_IN_ASM) using the x-y plane of the light blue component, you will get what you see above, which looks great except as you mentioned, the green component is actually identical to the dark blue one. Creo merely does the same "x-y" mirror and then applied the "Fix constraint" to position the new part in the right location - in this assembly. In other words, if you change the "fix" constraint to "default", the green part will end up overlapping the dark-blue one.
So to get it to the right position, I transformed the geometry of the light green component by rotating it about its y-axis by 180 degrees. This modified component is now shown in the "default" orientation and is the correct mirror of the light-blue original. Also its views are preserved, etc...
I'm attaching my test files if you want to examine this. I know that this is a simple example and the corrective transformations can be much more complicated than a simple rotate about y-axis by 180 degrees, but that's how it is. The only other thing to keep in mind is to model your "to be mirrored" parts knowing that they will be flipped about the default x-y plane.