Yeah, follow.ego, one of those crappy ego-centric functions. It would be better if it was follow(ego, object, blah).... but, anyway, Joel's right. Your parser should detect the opening parentheses and set the state THEN to replace defines with their compiled literals.
Except... what about in arithmetic?! Oh, $#!^.
Maybe Sierra-Online had a) A different name for the follow.ego command or b) a different defined name for object 0.