Coded my 2007 E92 335i no problem. Thanks a lot to all the useful information found in this thread.
I had the ebay cable and used the FDTI driver no problem.
One thing i found during my coding was that if you are having issues with the api.dll error, you probably messed up your system enviroment path. there can be no space between the path. I had a space between the semicolon and the c:\EDIABAS\bin, that did not work...
so to anyone else thats having the api.dll problem, check your path and remove any spaces!