Jill,
Without a description of how assign methods can screw up, may I suggest that the InteractiveChange and ProgramaticChange events are there for the exact purpose you are using an assign method for. Also available are the Valid, LostFocus, When and GotFocus as well as the Refresh events. All of whcih can be used to accomplish your goals.