You need to provide more info for a definitive answer, but it is likely a race condition,either in the semantics of your html or just because of the manner in which GWT loads. You will likely want to add some sort of check that the function exists and do a deferred scheduling until the point where the function exists. You will also need to make sure that you are referencing the function correctly via JSNI using the $wnd., IE $wnd.
MakeTextBoxUrduEnabled(). You could also provide a Interface wrapper for the class.
Options for checking loaded:
1. manual checks
2. Instead of adding the js via html, you can use scriptInjector which provides a callback interface.