Ok, still not working. Here is a summary of all the data involved:

point of rotation (on gun image): x:40, y:10

spawn point for snowball (on gun image): x:5, y:42

when the spawn point rotates around the point of rotation, a circle with radius: 35.355px is formed. I found that radius with this equation:

radius = sqrt((40-5)^2 + (10-42)^2).

This is what I'm using to get the spawn point in the current version:

spawnX = (float)((arm.x+40)-(Math.cos(rotation)*(35f)));

spawnY = (float)((arm.y+10)-(Math.sin(rotation)*(35f)));

(I've tried using 35.355339059327376220042218105242f instead of 35f without a noticeable difference).

Using this, snowballs are still not spawning in the correct place. I uploaded a new version that uses the data above. In the new version the snowballs don't move after you shoot them so that you can clearly see the spawn point. If you shoot snowballs at each position you can see the arc that is formed by the rotation.

edit: heres the link again:

http://www.cyntaks.com/projects/christmasgame