Hello Michael,
I have been using Bacula tape volumes for 7 years. Since 3.X version up to now with 7.0.5 version. I had no problem with bacula recycling algorithm.
About your problem, the EPW680L3 volume should be used instead EPW681L3 volume if these two volumes had the same settings (volume retention, recycle flag, enabled, etc.) and both volumes had status full or used. I mean the same settings because if you change pool settings in your configuration files and do not apply them for the existent volumes, even if they are in the same pool, they will have different settings. If EPW681L3 volume, for some reason, was marked purged (manually or automatic), then Bacula would use this volume instead EPW680L3 volume. Lots of others situations could occurs here that caused Bacula to use EPW681L3 volume instead the EPW680L3 volume.
You can get the next volume that bacula would use for your backups with the "list nextvol" command from bconsole. This command returns only the first volume and if your backups spans over multiple tapes, this command will not be so helpful.
I´m attaching a script that I have been using for a few months and I think that it could help you to know previously the tape(s) that Bacula should use for your backups in a specific date/time.
IMHO, Bacula has a very stable recycling algorithm, and if things are well configured, it should work as expected.
Best regards,
Ana