I'm sorry I never read your whole problem
I don't think this will help
I am not sure this is fool proof again
But can't you just add a session id in the DB which will help you identify the item till you finish your transaction then nullify the session variable once your transaction is complete.
In this way you don't run into the problem of second user entering his item