I seem to have tracked it down a bit.
If I have auto-adjust to match checked and save the prefab and then instantiate it. The box collider gets reset. What is interesting is the prefab yaml doesn't appear to match what the editor shows. The yaml output shows that the box collider has been edited to 0,0,0 - but when I see it in the editor its got the correct dimensions until I actually instantiate it.
If I turn off auto-adjust to match, and then manually change the dimensions and save - it appears to work fine.
As soon as I re-enable auto-adjust, and save it - even though the box collider dimensions don't appear to change in the editor, as soon as I instantiate the prefab its dimensions are 0,0,0 and looking at the yaml file it says they have been changed to 0,0,0.