I guess the problem here is that Moose doesn't really call the accessors in the constructor but just uses some shortcut to copy the constructor parameters to the object.
While I fully admit that I've not been following this discussion closely, whenever I've seen a statement such as this one in the past, the answer usually comes back "take a look at triggers." No idea if that's helpful or not, but I thought I'd throw it out there in case it was. :-)
Luck! -- Buddy