Not a bug:
"Battle Arena. When halving your HP, MP, or both, the cap will not be taken into account.
Ex.: You have 10500 HP capped at 9999 HP, so 1/2 HP will decrease HP by 5250
[This is the correct behaviour. The base HP is halved, and then materia effects are added. This looks wrong when you have materia bonus added to make up HP past 9999 HP but isn't. I am going to have to think about how to approach this.]
Edit.
I've had a think about this and what I've come up with is that the max bonus should never be allowed to exceed 9999. So you are capping the BONUS itself.
For example, at 5000 HP, you'd be allowed a max bonus of 100% (10000 - would be capped again to 9999 by engine). At 9999 HP, the bonus var would become 0. This would fix the Battle Arena so that either
A. You could have bonuses added and recalculated depending on Max HP as the Arena progresses.
B. Fixed bonus for entire Arena. So if your bonus was 0% (because your base was 9999), then it will be 0 all way through the arena.
Or you can go with
C. No fix at all. Bonuses can and will be added at the maximum amount. So if you have 9999 HP and 100%, and the arena makes your HP half... your new base is 4999 - and the bonus is 100%, so you'd be left on 9999. This looks odd of course... but it is the consequence of allowing a materia bonus in the Arena unchanged.