Lets say my user decides to paste a block of text into the middle of the document. The bigger the array is the more CPU it uses to do so. Right now I'm seeing significant (to me) CPU usage when this occurs,
You said you were developing a "win32 shell", but now people can use it to edit documents? What kind of application is this exactly? What kind of data are these arrays holding, how big are they, and what operations are you performing on them?
If you describe the application and show some code, we can make better recommendations to help your performance problems. It might even turn out that the array operations aren't the bottleneck at all.