Resolved!
My problem and many other's is that I was setting the DataSource and DataBinding the DataList on every postback. As soon as I added the postback validation the event begin to fire. Code below:
if (this.Page.IsPostBack == false)
{
dlCartItemsMonetary.DataSource = list;
dlCartItemsMonetary.DataBind();
}
If you are having the same problem with events not firing check your code for the same issue!
Thanks jpartjh for your comment, it made me think about the lifecycle of the page.