So your questions, does PHP really need all the added complexity of this?
That doesn't matter. If you don't need it, don't use it.
Does it really help solve the problem, or did you just add a new maintenance nightmare?
This question is a false dichotomy. First, it wasn't trying to solve any other problem then getting traits to work. So yeah, it solved that problem. Second, new code always adds new maintenance concerns. Whether or not it's a nightmare depends on the quality of code, which seems to be above par in this case.
As Nycto pointed out in this thread, there is a "Traits" patch which seems preferable to this code. It's likely that OP didn't realize it existed and did reinvent the wheel. But still, in terms of an exercise in PHP, I found it quite cool.
It's also worth noting that PHP will most likely be adding Traits into the core language at some point. A patch has been available since 2008:
http://wiki.php.net/rfc/traits
Hell, if you really need traits (you don't), apply the patch. Just don't mutilate your code base.