OK... Some of the issues you describe could be caused by a glitch that is apparently specific to the t-mo usa version, 2.2.1. It causes some phones to have memory faults (causing lagging and all sorts of shit). The solution seems to be to simply turn ON debugging. (Menu > settings > applications > development, turn ON debugging). Try this first.
Rebooting... try the electrical tape, worth a shot.
Other things to check: is your SD card compatible with the Defy. Supposedly Defy will not support anything over a class 10. Also, make sure you have formatted the SD card on the phone. Some cards just won't work and cause all kinds of problems.
SIM card. Is it a new card? Came with the phone or are you using an old one? I was having crazy connection issues then upgraded to a current (uicc) Sim. Solved.
It is possible to have good data connection and no voice/text connection. When you're in a wifi environment do you use wifi-calling? Does it work?
If my phone has to "hunt" for a 3G reception, it will sometimes get laggy and behave weirdly. So, when I'm in a so-so reception area, having this issue, I shut down 3G and run edge w/o issue.