Thank you all for your comments regarding not handling equality assumptions as assignments. Historically assume was not really intended to be used to give a variable a specific value - other mechanisms, such as eval, or the 'use' command, are more suited to this. In particular, Maple may ignore special cases (for which the associated set of parameter values has measure 0), because returning an answer which accounts for every possible subcase may not be practical (or efficient - note, checking for potential subcases using 'is' can be much slower than checking a type!). Instead, it aims to at least return an answer for the general case, and relies on the user explicitly substituting the parameter values before calling the function in question. Of course, finding the right set of cases to treat specially is definitely a goal we are working towards.
Mathematical Software, Maplesoft