for reference this is what response code 97 means:
Applicable only to SIM API. Fingerprints are only valid for a short period of time. If the fingerprint is more than one hour old or more than 15 minutes into the future, it will be rejected. This code indicates that the transaction fingerprint has expired.
I cannot say for sure but check the timezone of your server VS the timezone you have setup in your authorize.net account settings. All I can think is that there may be some conflict between them in timezones that is making the transaction fingerprint look like it is more than an hour old. This could have happened out of the blue if you have changed servers, if your hosting company changed the location of your server for you or if another site on the server changed the PHP.ini file to be set to the new timezone.
As a potential fix if this is in fact the issue add the timezone definition to your php.ini file to match that of your authorize.net account. (both of which should be set to your primary office's local time.)
php.ini setting would look something like
date.timezone = "US/Central"