Very interesting data structure concept. I haven't really looked at Aspect’s memory commands. I'm currently investigating creating an Aspect dll that would mimic the string functions of Aspect, except a string's size would only be limited to available memory. The string functions wouldn't be as flexible as a built in string data type, but... However, there is very little documentation and very few examples available relating to Aspect dlls. I wonder how robust Aspect's dll framework is.
I also wonder if something similar can be accomplished with your data structure concept, but based only on integers, or by using an integer array. Using an integer array would take up far more memory than a typical string implementation based on a char array, but it might be worth the cost. Basically, each element in the integer array would be a character in the string. Thoughts, anybody?
mjg