There are a couple of things you need to know about constants so that you can use them correctly.
They simply replace text in your source code, they do not pre-calculate or do anything clever at all. Because of this you can get unintended side-effects.
Before you run this code, see if you can predict what value will be printed:
#constant MyConstant x+10
x=15
print MyConstant*2
wait key
If you said 50, then you've just hit the problem, because the answer is actually 35.
MyConstant*2 ==> x+10*2 ==> x + 20 ==> 35
Fix it by wrapping the replacement text in brackets:
#constant MyConstant (x+10)
x=15
print MyConstant*2
wait key
MyConstant*2 ==> (x+10)*2 ==> (15+10)*2 ==> 25*2 ==>50
[edit]Actually, a better and clearer way to do what your original constants do, is to not use constants and use functions instead - your constants aren't really constants.