As I promised an answer weeks ago it is about time I guess...
No, I don't think so. It is clear who the attacking player is and who the defending player, so APNAP is at least superflous and should probably be taken out. It is not a bug in the sense that something doesn't work as it should (it does) but it is also not correct as it does way to much.
Another example would be the function invasion_dragon in invasion.c. It uses APNAP to provide dialog texts for both players, ignoring the fact that the dialog will never be shown if the AI attacks you... so this could be shortened quite a bit.
My theory is that someone just copy-pasted a legitimate use of APNAP, plugged in his code, it worked, fine, let's move on. And then someone else did and things went downhill from there.
A legitimate use (although not correct either, but this is an engine issue Drool66 is grinding his teeth on) would be
Prosperity, where you need to involve both players. But my guess is that there are far less of those than actual uses of APNAP.