Anyway, I've never used RadiusDamage() (radius_damage()), but looking at its code, its implementation is really bad in my opinion.
Code: https://mxr.alliedmods.net/amxmodx/s...engine.cpp#178
So, if you are standing really close to explosion origin (2 * radius multiplier), which does happen if you create an explosion at player's origin, it's going kill that player every time.
The best thing would probably be to create your own function to which you could pass explosion origin, damage and radius, and deal damage based on range. No multipliers involved, just raw values.