I believe this is difficult, if not impossible. The problem, as you've probably found, is that all the C functions you need (GetTabTextFromArea etc.) only support 255 characters.
I would like to know what BackgroundHALShouldPause does, and how to use it. While it's listed in the HAL Primitives report, it is not used in source code and it doesn't appear in the LMS HAL...