M Reider just refer to
Referencing objects in scripts, if you follow that you should not have any real problems. Nothing in that is specific to MP or SP, each type of script defines functions and object_self as needed.
When there is a clearly defined function to get the activator of an item and getfirstpc is used, you cannot tell me that is correct even if it happens to work. Likewise if you have a spell script, which says OBJECT_SELF is the caster, and the scripter does not know that and uses GetFirstPC(), well that will work of course quite often but it's wrong.
Coding for MP is not what requires more care, the issue is coding properly requires more care, failure to be careful is why things are buggy. This has nothing to do with SP or MP, nor is this very hard, it has to do with people not even trying to figure out the proper functions and latching on to GetFirstPC() because it does not require thinking.
Using the wrong function is almost always a bug which when noticed should be fixed, and the OC scripts are full of bugs which should be fixed.
Note that if you need a test to see IF there is a player on at all, then you are actually able to use GetFirstPC() and seeing if it's valid. Technically you are actually about to do a loop, its just after the first one it's redundant. The issue is when you have a script and you should be using some other function, or OBJECT_SELF, and instead of figuring that out you decide to use GetFirstPC() instead.
If you have to apply a effect to a player, and you were to just do a loop everytime you did GetFirstPC, you'd end up with it working regardless of context, and i think if you did that you'd notice quickly what you are doing does not make sense. So if you gave XP if a certain door is opened, intead of the main PC just getting xp, everyone would get the same XP. Adding a loop like this is actually not very hard to do. However if you use it in a spell script, and spells are castable by NPC's, PC's, DM's, and even cheat cast from locations, how is GetFirstPC() not going to make things wonky all of a sudden.