Thanks for digging into this, Charriu!
Interesting stuff. I have read that Civ IV mostly (entirely?) sticks to integer math for performance reasons. Most of the time this works well and is handled carefully enough that we do not notice 'rounding error' quirks in the code. But sometimes things like this bombardment issue pop up if you know the exact circumstances to look for.
