Incorrect/inconsistent results with sprite.checkCollisions(x,y)

I’m having some really frustrating behaviour with sprite.checkCollisions().
I have a projectile with a center point of 0.5,0.5. When I add the sprite via sprite.add() I do a check collisions right after so I can see if it’s in a wall before actually setting it visible. However when I do a checkCollisions(self.x,self.y) on the same frame as the add I keep getting the collisions of a sprite that’s beneath the projectile and not touching at all by atleast 5 pixels.
If I do the exact same check on the next frame or any frame after it will no longer say there s any collisions with that sprite even though I have not moved it from the set position before the add. If I do a querySpritesInRect in the exact same position and rect size as the projectile sprite on the first frame, it will return that there are 0 collisions.
I really need to do this collision on the frame it’s added, and I need the collision check I do use to return collisions and not just the sprite or I would just use querySpritesInRect and call it a day.
I’ve been trying to work around this for a few days now and I’m starting to go nuts. At this point I can only assume I’m either using checkCollisions wrong, or there’s just a really annoying bug with it. Any help would be greatly appreciated.