Hi Alex,
It seems you set the delivery complete indicator in the PO without any follow on documents having been created? (GR, Inv ). This is the standard system design in that case. The contract release history is updated with the followon document details (quantity and value). In your case both quantity and value are 0, hence the PO item with the delivery complete indicator behaves like normal non-contract PO.
Please have a look at the cause section in this KBA:
1956413 - Able to create a PO with reference to a contract that has not been completely released
The second part of the query, where you were able remove the 'Delivery Complete' tick and save the PO is because you have not set message 06 078 'Tolerance exceeded by xxx xx' in your system.' You can set this as an error in OLME -> Environment Data -> Define Attributes of System
Messages -> System messages and set message 06 078 as E
If you are working with value contracts and were expecting message 06 042 (Target value of contract & exceeded by &') you may need to apply the correction instructions in the below note:
2017961 - Change of PO net value possible although the contract target value would exceed