EDIT3: It now works perfectly! Cutscene 2 (Guybrush reading the re-elect Governor Marley poster) is used to keep verb menu visible and keep the camera in the same position. CursorShow() is used to keep the cursor visible during the cutscene. UserputOn() is used to enable user input (clicking, keys, etc.) during cutscene. The earliest the cutscene can end without messing up Guybrush's lines is after the first WaitForMessage(). Now the behavior to the user is exactly the same as normal, you can click on other objects during Guybrush's lines, you can walk around, you can use other verbs, etc.
Code:
[0024] cutscene([2])
CursorShow()
UserputOn()
printEgo([Text("Hmmm...")]);
WaitForMessage()
endCutscene()
[0030] (D8) printEgo([Text("A rubber chicken with a pulley in the middle^")]);
WaitForMessage()
[0062] (D8) printEgo([Text("What possible use could that have?")]);
WaitForMessage()
[0089] (54) setObjectName(377,"rubber chicken")
[009B] (14) print(255,[Text(" ")]);
[00A0] (00) stopObjectCode()
The only problems with the dialog splitter are with verbs, right? If so, just use these modifications when splitting lines only in ???_VERB.dmp files.