Does the keyword NEW have the per-connection basis aspect to it?
A trigger is fired by a SQL statement that makes changes to data in the table for which it is defined. It is important to note that triggers are executed for each row of data affected, not for each statement executed. Therefore the scope of new is actually more limited than session variables (which are connection-specific). The new and old aliases exist only within the local scope of the trigger, so concurrency should not be an issue as long as it is handled correctly in any stored programs which cause a trigger to fire.