Well your issue is actually a non-issue.
On creation of an instance you can set the parameters of the instance.
Which means that you can actually have a single object type, with several frame, that contains a physic behavior and to which, according to the selected ammo type you set the parameters of the physics behavior accordingly.
This is the same logic as demonstrated in my capx, only pushed a bit further.
Here's a new example.
As previously, the selection of the ammo type goes through the clicking on an instance of a text object, and getting a value of its variable instance.
This value is stored in the global variable "ProjTypeToShoot" that will be used when actually shooting.
In the example, instead of using the physics behavior, I've only modified the parameters of the bullet behavior, but you can notice it gives different behaviors as well and doesn't require a new object type at all.
At the moment of shooting, there is a test to see what is the value/expected ammo type to be shot. From there, for each ammo type I apply different parameters and set the appropriate texture.
I'm still convinced in your case you don't need to go for separated object types.
Also don't hesitate to post your capx publicly. No one is going to steal it, and other people can actually learn from it.