Sorry, this is because the program uses the block insertion point as a base point for the mirror operation, and simply displaces the block reference by twice the vector from the block insertion point to a perpendicular point on the mirror line.
For better results, perhaps the center of the block bounding box should be used.