"waiting for prompt" often means a timing problem where ESS waits a few seconds for something to appear on the screen and then assumes it is there before its next action. Try ctrl-G, the all-purpose interuption in emacs. Does that get you to a place where you can work?