Pbft,
You are still missing one tiny thing I wrote about earlier. Tool length offsets are relative numbers to each other. As an example, if I measure the top of a a part using my middle finger and my pinky is 1/2 inch away then measuring another part with my middle finger my pinky will still be 1/2" away. If you call G54 and set 4 tools on top of it, and use any one of them to set Zero, then call G55 and and use any one to set Z zero, all your tools will work properly in both locations. the key here is you needed to pick up Z zero with G54 active on the first part, then pick up Z zero with G55 active on the other part.
Hope this helps.