Plinkie is right and you have the right starting idea.
Keep the bulletSpawner Sprites outside of the screen
Have bulletSpawner spawn bullet at (dt*bulletTimer) on layer = player.layernumber
Destroy bullet when bullet.X > (is less than) (-1 *bullet.width)
--------------------------------------------------------------------------------------------------
OR you can create all the objects like your bullet in the beginning of the layout
every (dt*bulletTimer) set bullet.X to [Just outside of the screen] set bullet visible enable bullet behavior
After bullet.X > -bullet.width set bullet.X to [Just outside the screen] set bullet invisible disable bullet behavior