Time to resuscitate this.
I've been working on this on and off since my original post.
I tried an ELO calculation using the same numbers as chess, based on individual frames but found that player ratings were far too volatile, with ordering affecting results.
eg. PlayerA v PlayerB: 2-1 WWWLLLW gave (sometimes significantly) different points change than LLLWWWW.
I've now switched to a lookup table after someone suggested the Australian squash ranking system worked quite well - http://www.squashmatrix.com/MatrixTable.asp
What interested me was the discussion that players from two different states with similar ratings would actually be evenly matched (ie. The ratings system was close to accurate) even if they'd never shared an opponent.
I've significantly changed the numbers used by the squash guys, and experimented with a real set of matches with players that I know... and it seems to work! New players generally find their rating within 40 matches against an established pool, and the system is sensitive enough to clearly show ebbs and flows of form over time.
I've also started building a web application for managing leagues and entering results, so that at least my leagues may be able to use the system in future.