Sometimes, when programming UI dynamically - and dynamic programming in general, anonymous methods are very useful. I would disagree that this is unclean, and is in fact just a more modern approach. I would also argue that they are easier to read, because you can see what is happening right there, without having to locate the callback elsewhere in the script when reading through.
You could at least implement a way to use anonymous delegates while having it still usable by beginners. Please don't ruin it for the more advanced users, too! One way to do this, might be to have a boolean parameter to the EventDelegate class whereby we can specify whether this particular callback is anonymous.
NGUI is a very good tool, and without a doubt the best for Unity at the moment. I just hope it doesn't get watered down even further.
Thank you.