[Edit: whoops, comma thing was wrong]
Yeah keep your for loop clear, the comma might have been causing a problem - what compiler are you using?
Might be worth being explicit about the overflow:
m_checksum = (m_checksum + m_message[i])&0xff;
I'm not sure what data type you are using, but unsigned_char is what you are aiming for.
Hope that helps.