Funny, I didn't expect that to work as its an operation on a string. I guess I could have known it would work as removing the last 3 also evaluates it as an int.
Initially I made it work by removing the last 3 characters:
if(compare(RemoveRight([Album DR],3),<,7),<font color="FF0000">Album DR: [Album DR]<//font>,if(isrange(RemoveRight([Album DR],3),8-11),<font color="FFD800">Album DR: [Album DR]<//font>,if(icompare(RemoveRight([Album DR],3),>,11),<font color="4CFF00">Album DR: [Album DR]<//font>,[Album DR])))
I replaced it with
if(compare(replace([Album DR],/,,.),<,7),<font color="FF0000">Album DR: [Album DR]<//font>,if(isrange(replace([Album DR],/,,.),8-11),<font color="FFD800">Album DR: [Album DR]<//font>,if(icompare(Replace([Album DR],/,,.),>,11),<font color="4CFF00">Album DR: [Album DR]<//font>,[Album DR])))
Seems to work fine.
Makes me wonder though, does MC dynamically convert strings to integers? With the comma it was evaluated as a string, remove 3 trailing chars and it works as an integer. Replace the comma with a dot also works as an integer. Smart.