OnyxRafe, тебе просто нужно понять, что создавая клон префаба, все скрипты префаба как бы "прикрепляются" к этому клону. Следовательно во время игрового цикла, они уже не имеют доступ к префабу, только доступ к клону.
Ты, видимо, не очень хорошо пока разобрался с системой префабов в Unity. Очень грубо говоря, когда ты создаешь объект префаба, на сцене создается его клон, все обращения к gameObject в скрипте ItemMovement будут происходить к этому клону, а не к префабу. Попробуй.:)
OnyxRafe, ты обновляешь duplObj в корутине, которая вызывается каждую секунду. Да и зачем тебе вообще уничтожать duplObj, вместо того, чтобы уничтожать сам объект, к которому прикреплен ItemMovement?