Unlink physics of duplicated objects in Blender Game
I don't think it's possible without a cumbersome LibLoad setup.

But you can use separate collision objects as a workaround.

Code

# Assumes the visual mesh is no-collision and the collision mesh holds logic
ob.replaceMesh('visualobject')
ob['collision'].endObject()
ob['collision'] = scene.addObject('collisionobject', ob)
ob.setParent(ob['collision'])


Example blend