The assigment group value is validated against values in the assignment table. It sees the value you have populated it with, but since that value is not in the assignment table, it asks you to select from the valid values. I would recommend that if your custom field is like an assignment group, then it should be an assignment group. That eliminates the need for a custom field and the ensuing custom funtions to go with it. Otherwise, you would have to turn off the field validation for assigment in the incident, which would probably open an even larger can of worms.