Sounds like maybe Mass Update uses xedit (inline edit / submitFields) then, rather than a full record load-edit-save approach.
If that's the case then maybe your UE script deployment for that record type:
• Doesn't exist for that record type
• Isn't Deployed
• Is set to only handle one user event type (like Create)
• or Has its Execution Contexts set so it only runs on User Interface or something like that, but not on Mass Update.
• or has its suitescript code made so that it conditionally doesn't perform the actions when running from Mass Update context.
• or is running as a Role that can't access what it needs to to get the job done.
If my hypothesis is correct and it really is using xedit (AKA inline-edit or submitFields), and the code relies on reading values from newRecord that have NOT been changed before submitting, then that code will fail to work correctly, because in an inline edit / xedit event, then fields that did not change are not included in the newRecord object. So that can trip you up too.