Yes, that is true. If the tiles are the same, thus the same array of color values with the 16x16 area. But if only with pixel in one channel of the color the value is of by one, then the computer won't recognize the tile. Thus for example you have a 16x16 tile where all the pixels have a color (rgb) of (255,6,37) and compare it with a tile in another tileset where all the pixels except for one have the color (255,6,37) and the one pixel has (255,5,37), then the tiles won't match.
Or one picture uses a 3 channel (rgb) colors and the other uses a 4 channel (argb) where all the pixels in the alpha channel have the value of 255. There are so many variations of problems that a computer just can't deal with.
In addition a map build from a tileset does not contain image information, but only an number referencing the tile from the tileset. Thus without the original tileset it would not know what image information belongs to the number.
So I don't think there is an application for it. But I could be wrong, because I hardly know every bit of software out there.