Howdy,

> d. Make the master running with --binlog-format=row refuse to do any
>     INSERT/UPDATE/ALTER or any other queries that can modify a table
>     with the old DECIMAL.

Note that currently such DECIMAL columns work just fine with RBR, so long as the master and slave have the same internal types. So completely disallowing DECIMAL with RBR seems like a breaking and unnecessary change to something which apparently works fine for the user already. I should hope this strategy is not taken here, and certainly should not be taken as precedent for how to do things in the future.
 
> e. A SELECT from a table with the old DECIMAL should probably also
>     print a warning, to give the user another chance to know about the
>     problem.

Hmm, I'm not sure it's a good idea. SELECT is perfectly safe.
And warnings should rather be used sparingly.

Agreed. No warnings on SELECT. Keep in mind that not everyone ignores warnings, and in some environments they may even cause exceptions to be thrown. You should not use warnings as a subversive communication mechanism to the user, but rather as ... a warning.

Regards,

Jeremy