I'm not 100% sure since I don't know BASIC, but I don't see where the code would ever reach the End statement? It seems to continually loop back to the start or to main. Is there a specific point in the code where you want the program to end? under what conditions will it be reached? I'm more of a C programmer, so maybe I'm the one missing something here.
You may also wish to check the switch on B.5 to be sure that it is going low if it is continually looping back to the start without being pressed.
Also, yes, the Watchdog timer will need to be disabled. typically your programming enviroment (e.g. MPLab, etc.) will have settings somewhere for setting the "configuration bits" which will allow you to set the Watchdog timer to be disabled.