Short Signal Distance
I'm just guessing here based on experience with making upper-quadrant semaphore signals and cab-riding in-game (sometimes riding on top of a commuter trian to view their behavior, too). But...
First, if they're pre-2010 signals, they may not handle all the new signal states correctly - the number of states went from about 9 to over 30 in TS2009 (or was it TC3?) Anyway, if the game is sending the signal you're watching a 28 and the highest table value in its script is for an 8, something upredictable may happen - for example, it will stay at stop until it gets a very positive message to display proceed, or interpret proceed-with-caution-next-block-semi-clear as stop.
Second, the game (at least 2009, which is as high as I have) doesn't give the absolute highest priority to making signals look right. You can tell this because, as you approach a signal which is at stop, an AI driver will stop... then start moving an appreciable time before the signal actually goes to an approach aspect. In other words, the AI sees that the desired block is clear in-game a long time (in computer terms) before the signal gets the same message and reacts to it.
Finally, most semaphores also have lights - often handled creatively with scripts (so are the animated signal arms, of course) to simulate colored lenses passing over them. There seems to be an incompatibility between previous-version and 2010 scripts, from what I've read in the forum; that may explain some specific visual defects.