Personally, I’d say that you didn’t need to use Cycles if you didn’t want to … but you did need to use nodes in setting up the shot.
Cycles is very popular right now, partly because of its very different approach, but it’s not a panacea. The key to pulling off a shot like this one has everything to do with “nodes,” and Cycles is very much node-based from the start.
The difference, of course, is computation time. Cycles’ algorithm basically converges upon a solution, and it can take a very long time to do so. If you’ve got 7 hours to spend on one frame, “sure, no problem.” But if you don’t, a combination of multiple rendering techniques can be used. Or, well, “good ol’ BI” still hauls the freight. You’ve got two or three strong choices available to you now, just in Blender alone.
Basically, this is two shots in one. One approach that you could have used (without nodes, actually) is to use “layer-specific lamps,” putting the infinity torus in one layer and the background in the other. Use a different set of lamps as appropriate for each feature: they will shine only on the objects they’re attuned to and won’t see the others at all. If you do need to cast shadows in this situation, use a different group of “shadow-only” lamps which create shadows but not light.
Uh huh … nothing like these things actually exist in the real world, but, this is not the real world.
A shot like this can also be approached using compositing, and if the render-time for one component was for some reason very long while the render-time for another was much shorter, that would have been a fine approach to use. Compositing is also useful when you want to describe an effect in terms of layers of separately-produced effects.