@Garris: I'm trying to stay strictly away from what I "think" it should be and stick to RAW. Having just looked at the other Shifter power I have to agree that RAI is as everyone in this thread is posting and I will probably start running it that way, but RAW is clearly not.
RAW it's arguable -- which is bad; it shouldn't be arguable.
That said, D&D4 is consistent that while" always means "for the duration of this power, this turns on whenever the condition is met".
Actually, that's the usual meaning of "while" -in a gaming context-.
This is largely, I think, the difference of "while" as a rule statement and it as a statement of fact.
"while the dog is here, I shall not be" isn't a rule; it's a statement of intent, and at least theoretically doesn't reoccur.
On the other hand, "while congress is in session, X may not happen" -clearly- reoccurs. Game rules (and rules in general) that use "while" typically refer to it this way; the while specifies the start -and- end of the rule, reoccuring as much as needed.
By contrast, "when" usually means a single thing that happens once; "when a character becomes bloodied, spend a healing surge" would be reasonable, whereas while would be inappropriate in that context; conversely, "while any enemy is bloodied, gain +1 to all your defenses" would have substantially different meaning (you'd gain stackable +1s every time an enemy was bloodied, isntead of a single +1 that disappeared and reappeared as enemies became bloodied and were killed).
To momentarily bring things back to a programming context, you're looking at the language from the perspective of a sequential language. But sequential languages aren't a good model for a roleplaying game, as roleplaying games are stacked interactions of rules (as you see in a declarative language), and not sequences of actions you do in order (as you see in sequential languages). Examining declarative languages will generally give you the rule-based type of "while" -- a rule that is applied and continues being applied as long as it's applicable. To make up some pseudocode, you could see the second phrase as (add rule thing (regeneration=2 if self.bloodied); when encounter ends, delete thing); not an event handler (too complicated) but a rule that's evaluated on each pass or every time it could change.
What's ambiguous here is that by strict reading, the second clause in longtooth shifting doesn't have an endpoint, which can cause one to misread the "while" clause (as you did) as including an endpoint rather than a condition.