Unfortunately these dictionaries are only filled out if you are bound to a datasource control :(.
So that means when you bind to some raw collection and hook up to the Data Source property then call databind, if you try to handle the delete or update events these dictionaries are going to be empty.
If you go with the flow, you probably won't get stuck, but the moment you try to go against the grain you end up with a hand full of thorns.
Most of the data controls have events ending in ing and ed e.g. In most of the event handlers of the ing events it is easy to get the values from the event args.
From the time you write code that depends on the immediate layout of your page then your asking for trouble.