Why would some backup schedules work and others not?
By creating different destinations for each schedule, the problem goes away.

Apparently Backup &amp; Migrate simply assumes each schedule has a separate destination (although the UI gives no hint that this would be the case, and in fact gives reason to expect that there's no problem with sharing a destination).

For instance, one of my schedules is set to keep 12 copies.  Rather than keeping track of which backups belong to which schedule, it merely deletes all but the last 12 backups in the directory.

At any rate, isolating each backup allows everything to work as expected.