Since these are already in COMP status, that normally indicates something like unapproved labor transactions or a labor transaction with an open timer exists on the record if it's something out of the box. There may be other scenarios but that's one of the only additional checks when going from COMP to CLOSE.
If you have conditions on the WOSTATUS domain value for CLOSE, you would need to make sure that you have a condition that would evaluate to true for your record. For example, sometimes customers add a restriction to ensure failure reporting, a worklog, labor transaction, etc. exists on CM work orders before going to CLOSE. The problem with conditions on status domains is you get the very generic error message because the value becomes hidden without explaining to the user why. That's why I normally recommend validation over conditions on domains.
------------------------------
Steven Shull
IBM
------------------------------