I've fixed everything and it all works, now (actually it was already working. All the problems I saw were down to my SD card corruption). The only other minor glitch is that flite doesn't like the "fi", "fl" etc ligatures so you have to turn "kerning" off (I got the name wrong when I wrote the dialog). If you don't you only get the paragraph read out as far as the first occurrence of such a ligature (this may be a problem with the way QT converts QStrings to char* rather than with flite but the net effect is the same - turn kerning off to make it work properly).
I've even gone one step further and I can now use the flite shared libraries directly but you need a version of flite compiled as shared libraries. I have an ipk for it but insufficient space/bandwidth to host it, plus I can't build for opie (ironically) ATM because I can't get a version of the build tools which supports softfloat (and don't tell me about OE - I have a modem connection to the internet with a cut off time far too short to get all the necessary atomic downloads done).
I've added a small architectural change to opie-reader so that it can load small plug-ins for output which means it supports either using the shared objects, or calling the pre-built binary via runtime configuration so even without the special build of flite you can still use tts in opie-reader (which means that I can do something for opie users providing they steer clear of the one floating point operation in opie-reader - using the "jump" dialog to jump to a %age location in the file rather than an absolute one).
As always, anyone who wants to try it, send me an e-mail. I may put out a proper release soon but the table support is a long way from being finalised so it'll be an unstable release (I don't think I've ever done anything other than unstable releases 8^) - its all relative).