If the work item status is 'Done' and the case status is being changed to 'Cancelled,' there should be a validation rule that prevents this from happening.
Here is what I have:
AND( ISCHANGED(Status), ISPICKVAL(Status, 'Cancelled'), ISPICKVAL(Work_Item_Status__c, 'Done') )
Error: Incorrect parameter type for function 'ISPICKVAL()'. Expected Picklist, received Text