It used to be impossible to alter a column's type if the column was referenced in an SP or trigger, even if the change wouldn't break the PSQL code.
In 2.5 and up, such changes are permitted - even if they *do* break the code. This has not been clearly documented yet.
No error is raised if the code is broken. In most cases, the module's RDB$VALID_BLR flag will be set to 0, so the problem will be discovered "sooner or later".
But there are alo cases where RDB$VALID_BLR is kept at 1, and then anything can happen. (See CORE-3303
I think there should be a clear warning against this risk in the RlsNotes. One in the section Procedural SQL :: Borrow Database Column Type for a PSQL Variable, and possibly also a general warning somewhere in the DDL chapter, because this concerns not only "TYPE OF COLUMN" parameters and variables, but also the use of table/view columns in SQL statements within the PSQL code.