Ah. When this happens, one option is to use a different corner to define the bounding box, e.g.
if (vtkMath::Determinant3x3(max, mid, min) < 0.0)
{
for (int i = 0; i < 3; ++i)
{
corner[i] += size[2]*min[i];
min[i] = -min[i];
}
}