Writing a driver is basicly copying the driver sourcecode of the driver which db looks closest to the db you want to write the driver for. Then it's a challenge to get all the meta-data you need out of the db. This can be easy if the .net provider offers schema methods, like the firebird provider does, but it can be a struggle if you need to parse meta-data from system tables. The sourcecode for all databasedrivers is available in the SDK in the extras section.
The DQE follows the same route, and in 1.0.2005.1 it's made easier to write a DQE as you just have to override the methods you need to customize, e.g. the methods which produce the actual queries.
If Informix supports ansi-joins (INNER JOIN/LEFT JOIN), it's easier, as you can simply use teh RelationCollection.ToQueryText() method as used in for example the sqlserver dqe to produce FROM clauses, otherwise you have to produce non-ansi joins and that's located only in the oracle odp.net DQE as thats the only place where non-ansi joins are required.
The templates are the smallest step. In the Drivers folders you find driver specific templates. They mostly differ in DQE namespace references and the stored procedure call code in teh dataaccessadapter template.
FOr a driver, FIRST create a new GUID, and place that in the dbdriver class in the property for the ID, also place it in the driver.config file for the informix driver.
The system first reads catalogs, which are displayed in the list of catalogs to select from, OR can produce schemas. To connect to a db, it uses a control which implements a special interface. This control is shown in the create project/refresh catalog dialogs. It is used to obtain connection info to produce a connection string.
I'm not sure what informix uses, schemas or catalogs or files. All kinds of systems are already available, so you can check how to produce the proper code for catalog/schema or file based databases. The Dbdriver class produces a list of catalog objects to fill, which is then filled by the catalogretriever. The catalogretriever mainly retrieves schema objects which are filled by the schemaretriever. The schema retriever reads for a given schema the various elements. Please check the sourcecode in the SDK, it's well documented and pretty straight forward.
When you're done reading meta-data, the designer will be able to work with it and you can create entities.
A driver has its own folder in the Drivers folder, so you should create an Informix folder in the Drivers folder. In there you place the dll and the driver.config file. Also the Templates folder for the specific templates for informix, as well as the templateset config file has to be placed there (just copy one from another db, and alter a couple of specific settings, it's just xml, straightforward).
To debug a driver, place the .pdb file also in the drivers folder, run the designer, create a project in the designer and you should hit the breakpoint set in the driver code.