Is there a way to keep this old code-set value as is and avoid the critical error to promote the record (or any way to change this critical error as a warning or add the BOX value but make it invisible to the business users)?
Code set errors are similar to data type and VARCHAR length errors in they are by default SEVERE and unconditional. There is a way that you can make a code set error a Warning or set to a specific Validation Level however.
First, the code set needs to be de-assigned from the attribute. This eliminates the always-applied SEVERE error condition.
Next, a custom control for a Dynamic Dropdown Selection List needs to be defined with a SQL Query that retrieves the content of the code set. Please see the EnterWorks Tech Talk "ETT 026 - Custom Controls for New EnterWorks UI" for details on setting up this custom control. Once defined, the user will see the drop-down list for the code set.
Next, a bulk callout needs to be defined that ensures the current value of the attribute matches a value in the code set. The SQL query for this will be similar to the one for the custom control. This bulk callout rule can be set to be a Warning instead of Severe.
The above steps are all covered in detail in the Knowledge Base article entitled: "How to Configure a Repository Attribute with a Code Set to have a Warning or Conditional Validation Error" (URL name: How-to-Configure-a-Repository-Attribute-with-a-Code-Set-to-have-a-Warning-or-Conditional-Validation-Error-360059160392).