When you edit a site-defined condition, the edit page builds the code from the 'atomic conditions' that you would select when you construct the condition. So when you edit and save a hand-coded site-defined condition macro, the code gets re-assembled from the atomic conditions - and since there aren't any, the code disappears. That will be why you can save it as type COND but not as type COND_SITE.
Apart from that, I hope you've 'spotted the deliberate mistake' :-) - the code I posted was appropriate for a 'wf' rather than a 'cr_wf', so you will need to substitute 'cr' for 'chg' wherever 'chg' or 'Chg' appears...
Regards,
James