yes, the three line prompt makes DetectPrompt() method unusable. It uses "common behaviour" of terminal servers that on empty line request prints the prompt (we are sending Enter key). Then we look to last 3 lines and try to find a matching line with the last one. This supports these scenarios:
In your case you have to use Prompt property as you tried, but with correct value. Please make sure that the ">" is last character of your prompt. It may be followed by space or white-space in general. You can try to set
scripting.Prompt = @"regex:>\s*";
which instruct the scripting class that you are using regular expression to describe the prompt and that the prompt should be ">" followed by zero or more white-spaces.