Looks like a leftover after phpBB 2.x upgrade or something
Also that might indicate that some other tables/fields can have different types from defaults as well. Rechecking would be a good idea.
Try changing it to varchar(100) and rerun the update.
You have a leftover code from unresolved autoupdate conflicts or something like that.
If you didn't modify the file, I'd suggest better to replace it woth the original one from phpBB installation package (of the same version).
What is the topic title and subject text of the message where error araises?
And what is PM link looking like in the post a user clicks it?
And especially what is the line 981 of /includes/ucp/ucp_pm_compose.php looking like?
It seems that you're using some event from the function submit_post() where the message is already checked for errors. It's unlikely you can nicely interrupt the posting process from here. Try using core.message_parser_check_message event in includes/message_parser.php where you can set custom $warn...