Thanks for the suggestion, but I don't see how that forum post is relevant. The issue is not that I can't prevent the user from clicking the checkbox. Setting the IsReadOnly property achieves that.
My issue is with the fact that the default style of the GridViewDataColumn provides no visual indication of whether the controls in the column are read-only, or not. They are all greyed out, which contravenes the advice in the Windows User Experience Interaction Guidelines.
The fix to this would be to alter the default style, so that if the controls only appear greyed-out if they are read-only.
I have attached a Visual Studio solution that clearly demonstrates the desired behaviour vs. the actual behaviour. Here is a screenshot: