The main problem with clustering is probably going to be scheduled agents, or any function that opens a database in the cluster.
As far as agents are concerned, you need to ensure that the agent runs only on a specific server. Running on all servers will ensure that the agent executes on all servers of the cluster at each schedule time - which will give no end of grief with replication conflicts.
Scheduled agents in a cluster should be set to run on one server of the cluster. Domino will failover the execution of the agent to one of the remaining servers should the agent's target server go down.
At the condition that the agent is in a database that is not excluded from replicating in the cluster . . .
The other issue is with functionality that opens databases in the cluster. Such functionality centers around agents that make a call to a different database via Script.
Ensure that all such calls are written using failover techniques (or rewritten to do so if need be).
For example, Script calls opening a database should be done using the openWithFailover method.
I had an issue once with an embedded view that did not function properly when the main server was down. I had to implement a field to get the current server name and use that in the embedded view definition.
That is the kind of issue that can bite you with a clustered environment. Apart from that, regular database functionality should not be an issue.
Pascal.
I've got nothing to hide, and I'd very much like to keep that away from prying eyes.