Hi Peter,
After further investigation I've found that if I ensure that the new bounding box I assign to the View3D's cropbox has the same transform assigned to it as the original crop box then the crop is correct. In prior versions of Revit the Min and Max coordinates would stay the same after assignment to the CropBox property. However in Revit 2018 it appears that if the bounding box's Transform does not match the View3D's crop box, then Revit transforms the Min and Max values upon assignment to the CropBox property. Hard to tell if this was a silent fix to incorrect behaviour in prior versions or if it's a bug in Revit 2018....