This gets into the fact that different people play in distinctly different ways. In order to accommodate all of the different combinations, the various conditions have to get more complex, or we have to just move on to another "formula" type expressions to validate whether or not a player can rebuy and/or add-on (similar to the conditions on Events). While these allow for the most flexibility, they also tend to be a little too complex for the average user, so I'd rather avoid it if possible.
While I personally LIKE using formulaic expressions for things like this (it usually means I don't have to code new features because it can already be accomplished with the right formula), again it's just too difficult for the "average" user. I think it was the right choice for events, because I was constantly getting requests like "I'd like to play a sound when........". But it is still hard to use for most people, so high on my list right now is figuring out a way to continue using formulas for events but make it simpler for the average person to create and modify them. Not an easy task.
Until then, I'm going to try to avoid adding them, especially for relatively low-priority features (no offense, but this hasn't been requested by many people, and there's an easy workaround - you just have to do it yourself).