What lveci suggests is that you use nearest neighbour in the resampling of the image’spixels, because it is the only method which doesn’t change the actual values.Geometric correction requires to put the pixels at a new location. At this step, resampling is involved because the pixels are no longer aligned within the original grid.
As you are dealing with ordinal values (classes 0-9) bilinear resampling is harmful because it creates averages of two (or more) adjacent pixels, thus converting the classified integers into continuous decimal values which no longer represent the classes.
I have terrain corrected the image as you suggested above (Nearest Neighbour in TC module for Image re-sampling method) . But I couldn’t find much change after Geo-coding.