Right. In fact, no individual parameter is allowed to pass a value longer than about 40 characters.
What you're encountering is error messages being passed by payment modules using an old method of using the URL instead of the smarter safer contemporary way of passing them via the $messageStack.
Your payment module needs updating to stop sending messages via a zen_href_link() call, and instead use a $messageStack call. You'll see examples of this in all the payment modules that are included with the Zen Cart core files.
.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole
Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.