I had unending problems with google messaging and hangouts on my htc one m8. Hangouts would just sometimes not send or receive texts (despite saying they were sent), or be extremely delayed, or not show messages sent through other services. Google's messaging app was just unusable on that phone. Probably 50% if not more of the texts I sent would just say "sending" forever. Even if they eventually said sent on another app, they'd just say sending for upwards of 30 minutes. MMS were completely unpredictable. The stock htc messaging app was the most reliable, but even then MMS would always create duplicate messages that were always endlessly "downloading" and "failed' and I'd get constant "generic network failure" every time I was receiving a group text or mms. It was a mess!
On my 6P, things have been MUCH better. Google messaging actually sends things, and relatively on time. I've had some annoying delays where things took a questionably long time to send. I haven't even tried hangouts for mms...it was just so unreliable before that I'm honestly afraid to. It made my life so stressful never knowing if my texts sent or if I ever got a reply.
Is this just...a google problem? Its just generally terrible with text messaging? I feel like this should be one of the most basic things a smartphone can do.
As for pictures, yours should not come in grainy. Even through mms, pictures will retain pretty good quality. Sometimes I notice the app (hangouts mainly) displays images as grainy but if I check back later it will show the full resolution.