There are a couple of ways you can do this, try using the entities bounding box, taking into account the padding factor and current scenode scale.
There is probably an easier way of doing this and I haven't tested the code, if you still encounter problems let us know.
def _scaleEntity(self, entity, scale):
node = entity.getParentSceneNode()
#worldboundingbox = entity.getWorldBoundingBox(True).getSize()
worldboundingbox = entity.getBoundingBox().getSize()*node._getDerivedScale()
## avoid rounding errors, default is 0.01
padfactor = "%.4f" % (ogre.MeshManager.getSingleton().getBoundsPaddingFactor())
## get half extents without padding factor
halfextents = worldboundingbox /(1.0 + 2*float(padfactor)) / 2.0
node.setScale(node._getDerivedScale() *(scale/halfextents))
def _createScene(self):
.....
radius = 25
self._scaleEntity(entity, ogre.Vector3(radius,radius,radius))