Under the old compiler if ZERODIVIDE or OVERFLOW were raised and there was an ON-unit for the condition, then if the END statement for the ON-unit was reached, your program would continue with the next machine instruction after the one that raised the condition.
If the condition was raised by a hardware exception, this meant that your program continued on with some unknown value as the result of the operation, and this often led to more errors.
Under the new compiler, if either ZERODIVIDE or OVERFLOW is left unhandled by an ON-unit, then the condition will be promoted to ERROR.