I suspect the problem is one of the following:
The ammunition the weapon uses is from the one with the ID of 128 + the AmmoType field value. So if your weapon has ID 150, the Ammo Type should be 22, not 150. If the ammunition is infinite, it should be -1 in the Ammo Type field.
The Ammunition uses the graphics with spin resource 3000 + the Graphics field value. So if you use the spin resource 3024, the value in the Graphics field would be 24, not 3024.
Finally the spin resource should have the following values:
Sprites ID: If an rleD, the rleD value, if using PICT, the PICT value.
Masks ID: If an rleD a file that doesn't exist (typically an odd number), if a PICT, the PICT mask ID.
Hope this helps, if not post the file.