Duplicating element with python, rigid body lost
The code you got from this answer does actually copy the rigid body settings, what it doesn't do is add the new object to the rigid body group. Without being part of the rigid body group the objects don't act as rigid body objects, even with the settings.

import bpy

scn = bpy.context.scene
src_obj = bpy.context.active_object
rbgroup = scn.rigidbody_world.group

for i in range (1,6):
    new_obj = src_obj.copy()
    new_obj.data = src_obj.data.copy()
    new_obj.animation_data_clear()
    scn.objects.link(new_obj)
    rbgroup.objects.link(new_obj)
    new_obj.location.z = i * 3