Alasan mengapa pengecualian dilemparkan segera setelah Anda memasukkan metode ini sederhana - kompiler JIT hanya perlu menyelesaikan referensi saja. MySqlConnection membutuhkan System.Data, dan ini adalah metode pertama yang melakukannya, jadi saat itulah pengecualian dilemparkan.
Adapun untuk men-debug masalah, sepertinya kerangka .NET tidak terpasang dengan benar pada mesin target. Anda harus mencoba Cara aktifkan logging kegagalan pengikatan perakitan (Fusion) di .NET untuk melihat di mana .NET sebenarnya mencoba menemukan perpustakaan, dan mengapa ia membuang semua yang ditemukannya.
Jika tidak membawa Anda untuk memecahkan masalah Anda, saya akan mencoba menghapus dan menginstal ulang .NET framework 2.0, dan kemudian 3.5.
Alasan kerja Copy Local adalah karena aplikasi tidak mencoba memuat DLL dari Global Assembly Cache, melainkan dari direktori aplikasi Anda yang dapat dieksekusi. Namun, masalah Anda yang sebenarnya adalah tidak menemukan DLL yang tepat di GAC.
Jika Fusion menunjukkan kepada Anda bahwa pustaka MySQL mencoba memuat versi System.Data yang salah, Anda dapat menggunakan manifes aplikasi untuk memaksanya memuat versi lain (yang diharapkan kompatibel). Anda dapat membaca tentang manifes aplikasi di sini - http:// msdn.microsoft.com/en-us/library/aa374191(VS.85).aspx
Semoga berhasil.