Ecco a voi la mia nuova classe per leggere e scrivere i file INI:

using System;
using System.Runtime.InteropServices;
using System.Text;

namespace INI
{
    public class IniFile
    {
        public string path;

        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section,
            string key, string val, string filePath);
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section,
                 string key, string def, StringBuilder retVal,
            int size, string filePath);

        public IniFile(string INIPath)
        {
            path = INIPath;
        }

        public void IniWriteValue(string Section, string Key, string Value)
        {
            WritePrivateProfileString(Section, Key, Value, this.path);
        }

        public string IniReadValue(string Section, string Key)
        {
            StringBuilder temp = new StringBuilder(255);
            int i = GetPrivateProfileString(Section, Key, "", temp,
                                            255, this.path);
            return temp.ToString();

        }
    }
}

E come si utilizza:

using INI;
[...]
IniFile ini = new IniFile("config.ini");
ini.IniWriteValue("Sezione", "Chiave", "Valore");
ini.IniReadValue("Sezione", "Chiave");