You could add a proximity sensor to each cylinder and add each cylinder as a target. Each sensor and target would get added to the proximity manager. Then when you create/spawn the cylinder and sensor if one of the other cylinder targets overlaps the proximity it calls a "try respawn" function. I would look at the following documentation pages here for details:
http://docs.worldviz.com/vizard/inde...nsors%7C_____4
http://docs.worldviz.com/vizard/inde...nsors%7C_____2
http://docs.worldviz.com/vizard/inde...nsors%7C_____3
What you said in your post could work fine, but its not very extendable. If you have different sized objects it could be a pain to get it working. With this you might have an easier time and there is less mathy stuff involved in regards to checking positions of objects, etc.