First, congratulations on trying so many things on your own; nice work!
Second, any time the function name contains 'new', AE will allocate the handle to hold the text for you.
Try this (works here).
AEGP_MemHandle my_cool_textH = NULL;
ERR(suites.TextDocumentSuite1()->AEGP_GetNewText(S_my_id, stream_valP.text_documentH, &my_cool_textH));
There's your unicode string.
... View more