When an SQL file contains a DELIMITER change, ESE doesn't sense it and react appropriately. For example, when defining a stored function, procedure or trigger (routine), it is very common to need to use DELIMITER so that the interpreter knows when to stop defining the stored routine.
CREATE PROCEDURE foo ...
-- some code goes here
In code I've written that parses files then sends them through to the system like this, I've had to pre-parse the file to divide statements up by delimiter while stripping the delimiter changes out of the file because mysqld doesn't understand delimiter changes (that's just the mysql command-line client handling it for us).
Today, I ran a few hundred lines of code from ESE that wouldn't execute code successfully with delimiter changes embedded in the code that the MySQL command-line client handled flawlessly.