Have a checkbox on your list "External Software Modified."
Have the external software always check that box when making a change.
Have the ItemUpdated event receiver check this field. If it's checked, do not execute the rest of the code. At the end of ItemUpdated, always uncheck "External Software Modified" and save with event firing disabled.