I get the point you're trying to make, I really do, even if I disagree with it. And again, as long as you're consistent with it that's fine, which means that Bards can only use Battle Magic if they already have a weapon in their hand when casting a spell, and can only make the weapon attack with that specific weapon they're holding, as you're arguing you must be ready to use the bonus action *right then* even if you're not going to use it, and can't change anything to be able to take advantage of the granted bonus action.
That's a houserule, but hey, whatever works for your table.
Bonus actions are their own thing, distinct from whatever actions or abilities spawned them. They are actions in and of their own right. You're saying that someone can make an attack with a melee weapon, walk across a room, tie a quick knot (but only with one hand, can't put down that crossbow or you'll lose the action!) and then take a shot with the loaded hand crossbow they've been holding this whole time, but they can't attack with a melee weapon, draw a loaded hand crossbow from a holster, and fire it right into the same person in front of them. That, even though they both met the requirements to gain the bonus action (attacking with a one handed melee weapon), because the person was not ready to use said bonus action *right then* they lose it. Beyond not being supported by the rules whatsoever, I personally find that a little silly, but hey, whatever works for you.
Edit: Xetheral, I wish there was a "like" button for your post.