The problem is the mail and freebusy API plugins depend on newer versions of other extlib plugins (for example, com.ibm.domino.das and com.ibm.domino.commons). The missing
beforeRequest() method is in com.ibm.domino.das. The updated version of com.ibm.domino.das is installed with FP8 – which is why that resolved the problem.
If FP8 is not an option, I can think of two alternatives:
1) Instead of installing updateSiteOpenNTFExtended.zip, install the full updateSiteOpenNTF.zip. That includes the mail and freebusy APIs and all the other required extlib plugins (including com.ibm.domino.das). Of course, the full update site replaces many plugins that are part of FP5. That's not the same as going all the way to FP8, but it is still a significant amount of change.
2) Install updateSiteOpenNTFExtended.zip from an earlier version of the extlib. There are 17 extlib releases based on 9.0.1. I can't say for sure which of those are compatible with FP5, but I think the
beforeRequest() changes were done sometime after 901v00_10. I would try 901v00_10. If that resolves the problem, you could try 901v00_11 and so on.