You have the right general idea. My approach would be to directly use the ScrollPanes content. I'd grab the portion I need by drawing it into a new display object that I've tested to print properly. Then iterate over the rest of the image similar to how you update your yStart, continuing to print until done.
I'm not sure where "update_mc" is coming from, I don't see it instantiated or assigned in that code. Is that a snapshot?
update_mc is the movie clip in the scrollpane that I am wanting to print. Thanks for the reply, I will try that.
If you create a BitmapData object you can draw() a portion of another DisplayObject (Sprite, MovieClip, Bitmap, etc) into it. You can use that data to print. It's a common technique for saving memory called blitting and it's very fast.
Let me know if you get it to work, run into trouble or need an example let me know.