So with raytree building plus rendering you have a render time of 40 seconds by full hd resolution? Thats quite fast but there are a cuple of reasons why it wouldn’t use your full cpu power.
First it’s the raytree building: its sadly only done in one thread, so during that time it will only use 1/6 of your cpu. It might be possible that it is swiching between the avaible cores so you never have a visible spike on one core in the task manager.
Second it’s during render: when swiching from one tile to the other there is a small pause with no load in blender internal but also other kinds of overhead.
Lets say your raytree building used 15 seconds, that leavs 25 seconds for the full hd render. Also lets say you have a tilesize of 32x32, that would be around 2040 tiles (I think) that would mean that only a small amount of time is done on rendering one tile.
Because the rendertime per tile and the overhead per tile is probably very close you may only get around 50% efficency or even less.
So what can you do?
The raytree stuff won’t be multithreaded in near future, so the only way to reduce it is to reduce raytraced objects or don’t use raytrace at all.
The best way to increase your cpu usage is to increase drasticaly you tilesize, because of the short rendertime it might be good to split your render in 6 tiles (640x540) or even twelve tiles (480x360) depending on your scene. Check your individual frame rendertimes with diverent tilesize to find the fastes tilesize for your pc and scene. But my rule of thumb for tilesizes in BI is that for each tile I want the cpu to spend a fixed amount of time (lets say around 30 - 60 seconds), so I adapt the tilesize till I get that time per tile ratio.
I hope that helps