Had the same prob w/ pics not sending on sprint. Spent hours on phone and finally got problem solved. Hopefully this will help other people experiencing this problem.
First, go Settings, then select Phone. Under "My number" it should say your current number. If it doesn't (as it didn't in my case) call sprint (dial *2 on your phone). Tell the sprint agent you would like your Name assigned to your number.
In my case, I had been added to an existing family plan. I was assigned a random new cell phone number, but then later changed it to my old existing phone number from AT&T. So if you are like me and brought your old cell phone number with you when you switched to Sprint, then this may be the issue.
When I was experiencing the problem with my pictures not sending, the wrong phone number was showing as my number on the phone (even though people could call and text me using my current number).