Check it out for event handler. It is quite possible that if you cut and paste the datagrid from one place to another, it will loose all the event handlers which were previously defined.
If you think that event handler is defined correctly, check out how the datasource is bound to the datagrid. Your code should bind the datasource when there is no postback.
If not Page.IsPostback Then BindGrid() End If
Otherwise on each postback, the datagrid will be bound to the datasource resulting in
ItemCommand Event not fired.