From my OBDII Jeep days, the P0420 code comes up usually because of either a lazy rear O2 (as mentioned) or the cat itself. On my old '01 Cherokee, I lucked out - it threw the P0420 code, I changed the rear O2 sensor, and the code came back. I happened to be just under the 7/70K emissions warranty and Jeep replaced the cat. Good thing, because on the XJ the two pre-cats are together in a y-pipe just below the main header and it would have been crazy expensive to replace on my own dime.