[eluser]squarebones[/eluser]
You might want to try something like this (off the top of my brain-box), but I ran into similar problems using the resize() function trying to resize two images from one form post.
Firstly, load the image_lib library using $this->load->library('image_lib');
Second, create an array of text you want to display on the image.
Third, loop through that array of text and set your $config parameters appropriately (change your wm_text, wm_vrt_alignment, wm_hor_alignment settings, for instance).
Third, use $this->image_lib->initialize($config); to load your parameters.
Fourth, do your $this->image_lib->watermark(); function.
Fifth, loop ends.
This may work, and may not, but it seems like logically this would work for you, though for dynamic output, it may not as it's dumping the image to the browser instead of modifying a file. Perhaps try this on a static file first, and as the last step in the loop set the dynamic parameter to true.