Again i think you are coming up against an order events fire type problem,
you are hooking up your GridView event handlers programatically in the
PageLoad event, how do you know that the PageLoad event fires before the
RowCommand event, if the RowCommand event fires before the PageLoad event
then the event has already happened before you even wire up the event handler.
Again i can't see any good reason for hooking up your event handlers
programatically from your code, the reason you do that usually is if the
control to which you are hooking up the event handlers has also been created
programatically. If you are creating the GridView declaritively in the mark
up then also wire up your event handlers like this.