I encountered an 'The given key was not present in the dictionary' error today when loading Dynamics, it occurred just before the login screen. It was caused by deleting a field on a form that I had an event handler set for. Commenting out the event handler code fixed it.
In today's case I had deleted a custom field, and still had the event handler in the GpAddin.vb file under Sub Initialize:
AddHandler DynamicsModified.Forms.SopEntry.SopEntry.LineScroll.QtyOnPo.LeaveAfterOriginal, AddressOf oSOPTransactionEntryDetail.QtyOnPoLeaveAfterOriginal
This needed to be commented out.