As you well know, my answer to when to use prototypes is
in reply to When to use Prototypes?
And an example that I would point to of what the bugs
caused by prototypes working as designed (rather than by
their being buggy) look like in practice, take a look at
printf vs. sprintf. How quickly could you, or more importantly
a co-worker of yours, figure out what went wrong there?
Why would you want to subject yourself to going wrong like
that when you have a choice?
On whether prototypes are a bad idea, I don't think they
are in a language where they do something reasonable. But
they don't in Perl.