I’m not familiar with how UltraISO does its md5sum. Does it rip the disc into a new ISO file and run that through md5sum and then run the original ISO through md5sum and compare? If that’s the case, then it’s not surprising that it’s different because an ISO contains other information in addition to the files, and it’s quite likely and normal that not all that information (info like the timestamp of the ISO itself that is stored in the ISO) will be the same with each burn.
You are better off getting md5sums of the individual files within the ISO and comparing them, as that’s the most accurate comparison.
Alternatively, you can download WinDiff (a part of Microsoft’s PSDK toolkit) and recursively compare the all the files quickly that way. You should be able to find it somewhere on Google.