Hmmm, maybe there's some issues with the way your updating the sprite.
You have a type setup for your bullets, so what I would suggest is that you don't use the getspritex etc, and don't set the sprite position axis separately. Like, have the .x# and .y# component of your type, but also store the velocity of the bullet as .xs# and .ys# - and also that angle, because that might be handy later on if you add deflection. Along with that, also store the last position as .lx# and .ly#.
In psuedocode, I'd do something like this:
Loop through all bullets
If bullet is alive then
bullet.lx=bullet.x
bullet.ly=bullet.y
bullet.x=bullet.x+bullet.xs
bullet.y=bullet.y+bullet.ys
If theres a collision between bullet.x,bullet.y and bullet.lx,bullet.ly
bullet.x=collision point x
bullet.y=collision point y
kill bullet
else
position sprite at bullet.x,bullet.y
endif
endif
endloop
This is how I do it, and I've never had an issue with gaps appearing in a bullets trajectory. Although, one thing to keep an eye on is inverted collision checks. Like, some collision detection algorithms don't automatically allow for bi-direction. Like, a sprite tends to get a collision frame, a concave shell that goes around the sprite shape - but with some techniques you'd only detect collision when checking outside of that shape to the inside or through - checking from the centre of the shape might not detect a collision. So, maybe it's the way you've setup the collision perimeter. Anyway, one way to get around that is to do bi-directional checks, like (psuedo)
col=raycast(xa,ya,xb,yb)
if col=0
col=raycast(xb,yb,xa,ya)
endif
So that would check both directions and is necessary with some techniques, not sure if AppGameKit is sensitive to this stuff with Box2D - I know it is with 3D raycast checks - that seems to only detect collisions that are opposite to the normal of the polygon... kinda like 2-way glass, and your collision checks are like rays of light - they get stopped when going in only 1 direction. I'm thinking that maybe the sprite raycast checks are the same.
It's a case of engine developers leaving space for optimisation - you wouldn't necessarily want to detect collisions that are in line with the 'normal'. Like - maybe bullets start from the center of a ship sprite, and enemies are all firing at this ship. If the bi-directional thing is right - then the enemy bullets will be detected if they hit the player ship - but the players own bullets wouldn't, it's what you might want, and making it fool-proof would mean a double collision check. Same goes for 3D - you probably wouldn't need to detect bi-directional collision on a terrain or structure.
Anyway, I'm rambling - if your still stuck I will make a little example as soon as I have time, but just persevere with it, it'll bend to your will before very long
I got a fever, and the only prescription, is more memes.