After quite a bit of head scratching I solved my problem. I was rounding the category values, and not the xAxisMin / xAxisMax values. Apparently, if there's any difference between the first category and the xAxisMin, or the last category and the xAxisMax, then you will have this problem.
Brett