I’ve looked a little bit at the Spotlight info DTPO stores in Caches/Metadata, and it seems to be an interesting combination of stuff from the imported file, and info about the .dtp2 file itself. I can’t say I understand how all this works together.
If it’s a performance issue, I’m sure you’ve considered doing it as part of the “rebuild” of the Spotlight database offered in the Properties dialog. To my mind, if I’m working in DTPO, tags and Spotlight data don’t have to be continuously rebuilt: while I’m concentrating on your application, I don’t have processes working in the background that have need for this info.
I’d be happy with rebuild on database open and close, in addition to the manual rebuild feature already provided. Same goes for indexed files as far as I’m concerned.