My last post on the topic of repeated starts and i2c - I hope.
It turns out that some folks actually use languages other than Perl on their Raspberries. So I've provided easy access with a command line utility as part of the distribution that can be called from Shell, Python, Scratch etc.
It's a setuid executable ( to have the permissions necessary to map specific parts of /dev/mem ) and installs with execute permissions limited to the i2c group. So any user in the i2c group can now use this method of communicating with an i2c slave if required.
It seems possible to control the speeds of i2c-0 and i2c-1 independently. It will have to wait for me to solder some connections to a Pi for confirmation.