You're absolutely right: The 0..100 range contradicts the website that says DX = (+DI - -DI)/(+DI + -DI). This would not generate a 0..100 range, but a -1..+1 range. So one of them is obviously wrong.

Although I don't think that DX, +DI, or -DI can generate very useful trade signals, that issue has to be solved. I'll check the source and will find out which algorithm is really used.