Since I've not found too much reference material for PHP5's new stuff yet, and it is not-release-quality still... this could be a bug...... or is it?
The way I see it, it's behaving normally, but should be chucking an error at you.
Here's why: a constant in pretty much any programming language is meant to be defined once and only once. Most languages get angry and error out if you try to change or redefine the value of a constant.
In this example, you're defining the class-level constant and then extending (thus inheriting) all the members of the base class, including that constant. The constant is already set in stone (or should be) when the subclass is instantiated.
I personally think it should give an error in this situation, telling you not to redefine a constant--if you have a token that needs its value to change during the life of the object, a variable-like member would make more sense to me.
Maybe one of these days I'll happen upon a big block of free time (not likely) to go through the ZE2 code and see what's happening.