The lights are culled using a scaled bounding box, but the geometry is rendered using the fixed light radius.
I modified Renderer::drawSphere to use the transform matrix of the light node.
Code:
void Renderer::drawSphere( const Vec3f &pos, float radius, const Matrix4f &transMat)
{
ASSERT( _curShader != 0x0 );
const Vec3f scale = transMat.getScale();
Matrix4f mat = Matrix4f::TransMat( pos.x, pos.y, pos.z ) *
Matrix4f::ScaleMat(scale.x * radius, scale.y * radius, scale.z * radius);
gRDI->setShaderConst( _curShader->uni_worldMat, CONST_FLOAT44, &mat.x[0] );
gRDI->setVertexBuffer( 0, _vbSphere, 0, 12 );
gRDI->setIndexBuffer( _ibSphere, IDXFMT_16 );
gRDI->setVertexLayout( _vlPosOnly );
gRDI->drawIndexed( PRIM_TRILIST, 0, 128 * 3, 0, 126 );
}