Thanks for the response. I'm a little bummed that your answer sounds definitive, but I'm kinda relieved that this problem can finally be put to rest.
For posterity, I did try to remove the collision property for terrDirt (as a test), but found that the block didn't have said property. Dirt, terrAsphalt, terrGravel (basically the blocks which I didn't want taking damage from stray shots) didn't have the collision property. I appended this:
<property name="Collide" value="melee"/>
Thinking that this would allow melee but not bullets to hit dirt, as a test. But it seems that didn't work (pulled out crossbow, shot at dirt, still did 1 damage)
As for other solutions, this dude from way back:
https://github.com/stallionsden/stallionsmodlets/tree/main/stallionsdens Anti Block Bullets
Straight up just made entirely new projectiles from scratch (game no longer uses any vanilla ammo). I'd prefer a less vanilla destructive solution, but seeing as the author recently updated the mod to A20, there's at least one last resort for me to consider at the moment.