We have discovered what was causing our tests to fail randomly when run together as a suite. One of our tests used modifier keys such as [Shift] and [Ctrl]. The limited documentation we have for WebDriver says of the keys command:
Press keys (keys may still be down at the end of command).
It seems that sometimes this command was leaving a modifier key depressed and therefore active for the next test in the chain. As some of our other tests use [Tab] sequences to reach certain page elements, and [Shift][Tab] goes backwards through the page, our tests were failing depending on their position in the suite.
We do still have issues to do with timing but the situation of random failures has been isolated to this problem.