the code itself is too advanced for me. there is not much I can tell you about speeding it up. but there is an article on water effect in gamedev net. look for the demo and source code at the end of the article. I hope you understand pascal.
http://www.gamedev.net/reference/programming/features/water/default.asp
http://www.gamedev.net/reference/programming/features/water/default.asp