Just to reiterate, it probably is just a bruised rib or some such. Bone bruising takes a few months to heal, three months being the average I think, and any irritation could drag that out longer.
If you had any internal bleeding or damage to your internal organs, you probably would have been dead in the first week. So I'd say you're clear of that by now.
To answer your other question, a fighter would not keep his abs tensed for the entire duration of the fight. He might flex them at the last second before being struck there, though.
Anyway, the pain definitely sucks. It'll pass eventually though. Just need to give it some time to heal up without redamaging it.