If I'm reading your flow correctly, it looks like you're testing for collision before the object is created. So, there's nothing for it to collide with.
I'd suggest you create the object, and if it collides with another of the specified type, despawn (or destroy) the object and loop back around to do it again.
Also, I recommend you use pools to spawn/despawn rather than creating objects - it is MUCH faster and more efficient! Look for Path-o-logical Games' Pool Manager - there are PM actions for it (on the ecosystem, I believe)