When providing interaction with lists, whether it be via List Event Handlers or Web Parts, it helps to use the casting methods for the fields that you are going to be interacting with when both retrieving and setting values.
The most widely used scenario where this feature is best used is in Lookup, Choice, URL and User Fields, as the actual value that is stored by accessing the ListItem["name"].toString() is not always what may be expected. Lookup Fields usually store values in this format, Id, #, ;, text. which can amount to returning "1#;Title", when you were expecting "Title", and SPUser fields store a userid followed by the name, e.g. 16#:GavinMorgan