Using various REZ_FLAG's (and other parameters) in the llRezObjectWithParams-function let's you rez objects without modify-permissions, changing some of their properties in the process.
Despite rezzing no mod objects, you can:
• make them temporary (REZ_FLAG_TEMP)
• make them physical (REZ_FLAG_PHYSICAL)
• make them phantom (REZ_FLAG_PHANTOM)
• have them deleted upon collision (REZ_FLAG_DIE_ON_COLLIDE)
Further changes are possible with some of the other parameters (e. g. REZ_SOUND_COLLIDE).
These flags should silently fail and maybe also give an error message on the debug channel since it allows changes of no mod objects that are not otherwise possible.