Note: this answer is old and may not be relevant to newer versions out there...
Last post from way back machine (as original seems to not work):
I am developing my app in pure XHTML MP / Ecmascript MP / WCSS. So using native platform browser control api is really not an option for me. Yes the behaviour u mention is the same as mine. I searched his topic in the bugzilla at webkit.org and found that this indeed is a reported bug. focus() to a text box does highlight the element but does not provide a carat in it for the user to start entering text. Using a timer as mentioned by "email@example.com" does not help either.
This behaviour is common across platforms (s60,iphone,android) which use the webkit engine.
So as of now i dont see a solution to this problem.
Hope this helps