I don't know if this code would help--you could try it:
if(!InventoryActive) Game.InventoryVisible = false;
before you start the puzzle
or just
Game.InventoryVisible = false;
triggered somewhere so you can't add anything.
BTW, I just noticed that if I set the coordinates "go to" for my actor to be the exact same as an item lying on the ground, it will never, ever go into inventory--interesting little details. : )