I've got a bit of a puzzler here.
I've extensively modified the Quote entity, but done nothing to change it's built in state progression. Users can Activate a Draft Quote, but when they try to close it, either by Create Order or Close Quote, it complains that it can't do it became the thing is read only. I can force it to change state with a Workflow process, but the built-in functions should work! Here's the full response.
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: The entity cannot be updated because it is read-only.Detail:
<OrganizationServiceFault xmlns:i="www.w3.org/.../XMLSchema-instance" xmlns="schemas.microsoft.com/.../Contracts">
<ErrorCode>-2147220946</ErrorCode>
<ErrorDetails xmlns:d2p1="schemas.datacontract.org/.../System.Collections.Generic" />
<Message>The entity cannot be updated because it is read-only.</Message>
<Timestamp>2014-01-03T10:33:55.3921048Z</Timestamp>
<InnerFault i:nil="true" />
<TraceText i:nil="true" />
</OrganizationServiceFault>