As for the length of Vito's hospital stay, I always assumed that he came home the summer after the shooting.
It certainly looked like summer in the movie (when Vito was coming home in the ambulance) but the novel stated that Sonny had brought Vito home in mid-February.
Too may different sources... too many chances for changes/mistakes.