Global mirroring an array of separate objects

I wonder if there is an easy way how to mirror a large number of objects on Global X axis. I have tried some some techniques, but none worked well.
I wanted to create a line of rivets on an curved surface, so firstly I created a 3D bezier curve. Then I used an object consiting of only one vertex to create a parent object for dupliverts. On this single-vertex object I applied the array and curve modifier. Then I dupliverted the rivet mesh on this and made them real, so I got about 25 separate objects. After manually rotating them, each has different rotation. And this is what I want to mirror along global X…
But the fact that there is not any mirror in object mode that works on global axes, I tried few methods: grouping them and adding to scene, mirroring with lattice. The method with lattice works well, but when I try to clear parent and keep the rivets in place, it makes strange things. It randomly scales the rivets on two axes (this is no problem, because clear size works well) but it also rotates them randomly… Don’t know, but it may be a bug.
Can somebody help?

The first picture: after clearing the parent, the rivets get deformed
Second: before clearing size
Third: the two have size cleared, but are rotated wrong