俺はソース見てないから全てエスパー回答だが…

>>810
まずdatabaseがnullでないか確認しろ。
nullだった場合はAwakeで↓を呼んどけ
database=GetComponent<ItemDataBase>();
※ItemDataBaseとPlayerbokkingが別オブジェクトにアタッチされてるなら何らかの方法で探す必要がある

ついで言うとItemクラスにはSystem.SerializableアトリビュートつけておけばインスペクタでItemDataBase.itemsの中身が見える様になるので確認が楽


>>822
Rigidbodyを付けてるならRigidbody.positionで移動させた方が軽いが、transform.positionでもColliderの座標の再計算はされるはずだ。
死に続けるなら死ぬ処理を呼ぶフラグが勃ちっぱなしになってるなどのバグがどこかにあるはず。