Well, all that may be true, but I think you're making an assumption by saying it's a false positive. I didn't say if the filtering is wrong, only that it might not be filtered by NPC id, or if it is, it may be a different NPC that is the target of the function.
For instance, I have a mod in which there is a dog companion. You speak to a cook who gives the dog a bone. It's important that you (the PC ) don't add the bone to your inventory until a later time. I can think of instances where speaking to one NPC might result in action by another NPC...
Ah, ok, there is no doubt in this case you have to use the objectid->action syntax.
I also have never noticed dialogue slow things down unduly, though that of course doesn't mean it doesn't happen.
You are right a couple of object calls surely cause hardly measurable delay. If you consider the time spent by some initializing script to scan for several objects though (I.E. scripts disabling various objects after player creation), it is usually more than noticeable.
As to the last, I don't know, to the best of my knowledge I've never written dialogue before placing the NPC, so thanks for the heads up there.
I have seen this causing problems mainly with big mods worked by many people at once, and/or with unfinished mods where dialog had been done before placing each referred NPCs in the world. Not a serious problem, as code in dialog result is compiled "on the fly" and you can place the NPC in the world before using the dialog and it works, but it is annoying to have those warning messages when debugging dialog result.
I only know that a couple of times I tried various things without using the NPC ID, and I only solved the issue by adding it as a last resort after days spent trying to find out what was wrong. I've had no problems since I started using the ID as a matter of course.
I never had this particular issue so far, I'd like to understand what the problem is in such a case, but yes, sometimes this is nearly impossible with Morrowind engine, and if something finally works, better stick with it!
I imagine you are right as a matter of form, and you are certainly more experienced at modding than I am. I've thoroughly enjoyed some of your mods, and I have tremendous respect for your ability, don't get me wrong. It just seems to me that there is more than one side to this issue.
Yes, it is may be a matter of circustances, after all, the important thing is to make things work. But I have seen mods using unnecessary "object"->action syntax even inside local scripts attached to the same"object", so explaining this is usually not needed should do no harm.