Ok. The answer to this isn't straightforward I'm afraid.
First we need to identify the problem. There is more than one potential problem here.
1. Do you need OpenGL ES 2? If you don't use shaders, switching to GLES1.1 will magically fix the problem. There'll still be an overhead of updating the mesh (and the managed -> unmanaged switch, etc, but it shouldn't be as high as this).
2. In Unity 3.5.2, you can work around this by double buffering the mesh. This increases the script update cost a fair bit, but almost entirely eliminates the CreateVBO issue. I have a patched for 1.7 + patch2, should you wish to try this. Drop me an email if you do. Its not destructive, and shouldn't cause any issues. You can always revert should you find the tradeof isn't suitable for you.
3. In Unity 3.5.3, I think the CreateVBO overhead is a LOT lower, but I haven't properly profiled it to make sure. Well I haven't seen the issue with my test which was slowing down significantly in 3.5.2 (on iPhone4 specifically), but there are so many other devices around and its hard to predict what Unity does with a particular device.
But the solution could be simpler. What do you need with this in-game manual? Do you update the text every frame? If not, you could just precache the meshes (all of em) and don't update them live - that way, you sidestep this entirely.
I can't publicly release any fix, as Unity really need to fix the fundemental problem - that being the inconsistent behaviour on different modes / devices.
Hope that helps.