Dunno if this will help...but I fixed the problem for me. I found that after a while the pic messages were showing up as not delivered with a big red exclamation point to the side.
So, here's what I did!
I tried taking a picture with the camera icon next the iMessage text entry box for a text message and sent it, went through fine. Next, I tried sending a pic from the camera roll...finally I got my camera roll back to function. Vwaaaalaaa! Bug fixed. I can now send picute messages again from both locations.
Also, to speed up the functionality of the iPhone, I set to OFF my iPhone 3Gs's Settings>General>Network> Cellular Data button while I was on the wifi connection and turned it back on when I was out and about(the speeds vary when on the cellular data plan anyway).
Well, I hope this helps some.