In the season two premiere, it's explained why John no longer appears to be dying.

After suddenly bleeding from the mouth and collapsing in the field, 

John (Kevin Costner) has to undergo an urgent surgical procedure by the 

veterinarian because he does not have enough time to get to the hospital.

While John and his son Kayce (Luke Grimes) fear it might have something to do

with his previously diagnosed colon cancer, it turns out to be something else entirely: 

a ruptured ulcer.  Later, when he is taken to the hospital in a helicopter,

the show makes it clear that John's days are no longer numbered.  

"Well, the bright side: You don't have cancer," Kayes says. "Not dying yet."