There is no significant difference between a 628 and a 628A. Code for one will run without changes on the other.
However, any form of timing critical functions (such as SEROUT, SERIN etc) on INTERNAL OSCILLATOR is suspect. Just because it worked on a 628 (non-A) means you were lucky. If the world was flat, then you were sailing on the edge. Take a random sample of PICs, and some will have their Internal Oscillators spot on, and others will be off significantly to corrupt asynchronous data. Fit a Resonator or Xtal, switch to XT or HS Osc, and your troubles will disappear. Either that, or go buy a really big selection of PICs and outsort the ones that work...
I used to say, never go above 300 Baud on Internal Oscillator, but I've had batches of chips where even that wasn't reliable.
Bookmarks