OK. This is what I have learned. If I trigger NVMapTrap with
NVMapTrapOn="FrobWorldBegin";
it works. But if I trigger it with
NVMapTrapOn="FrobInvBegin";
it doesn't. There must be something about the triggering object being in inventory which mucks this up. But that's OK, I'll treat the physical map like a book instead of a scroll that you can pick up. That should solve the problem.
NV if you get a chance to investigate this and can explain why this matters to NVMapTrap, I would be interested in hearing about it. Meanwhile, I have a workaround.