As of v9.15.5 the code has been updated to set the result of "job.LastSuccessfulRun" to the current date/time instead of the last run date/time.
In commit "ea3a9f345ce7a3851bf1368084cf7c71e11de48e" this line was added:
Line 508: SetLastRun();
This is now set before the current integration task is run. I believe this should be set after so that the task can utilise this information when running the task.
Please let me know if this can be fixed or there is a work-around for this.