How do you deal with mental illness?
pragmatic: Have you been diagnosed with Asperger's Syndrome (AS)?  Many of these problems sound like symptoms of AS.  Many, many programmers have AS (it seems computers were made by and for people with AS (see the book below)).  I've worked with several whom I suspected but weren't formally diagnosed.  They were miserable because the couldn't understand how to deal with people on a functional level.The key is to understand the root of the problem.  Some of the coworkers would be diagnosed with general anxiety disorder and the like while AS was the painfully obvious  condition (though anxiety, etc are very common in those with AS).Read this book ASAP:
The Complete Guide to Asperger's Syndrome by Tony Attwood
http://www.jkp.com/catalogue/book.php/isbn/9781843104957