Dear NoICE,
Sorry about the confusing version numbers.
There are three independent versions involved:
The BDM Firmware
The Interface DLL
The Hardware
The uploads are named after the BDM firmware.
In part these are inherited from the original TBDML which was (I think) firmware version version 0.3 with DLL version 1.4. and hardware version 0 
I increased both of these by 1 when producing the first version of USBDM.
Perhaps I should have gone straight to version 2 for the firmware!
====================================================
You are quite correct in saying that the connection method would appear to have no bearing
on the error you are having.
However I would suggest the following strategy for NoICE - I believe this would also work with the original TBDML and be more convenient for the user.
When initially connecting or when suspecting loss of communication:
1. try tbdml_target_sync()
If the the above fails:
2. try tbdml_set_speed()
In most cases (for more modern chips) this will save the user from having to manually provide a clock value. This is especially convenient if the target is changing speed. USBDM also has a stategy for determining the connection speed on (some) earlier targets that do not support SYNC.
====================================================
The trace you have provided seem to indicate that BDM firmware is not responding at all after it is closed. I can't think of a reason why this should be affected by the DLL in use.
Could you try either of the following (your choice!) :
- Update the BDM software to the version included in the Zip files referenced above and see whether is affects the results. I'm unclear what version the firmware is. (The information in your log is only the hardware version for some reason).
- Stick with the same firmware but change to the Debug version of the interface DLL included above. Run your example and post the .log file that appears in the root of the C drive.
- If worse comes to worse I'll supply the latest DLL without the nag message but I would prefer to know what is wrong! The main missing features are the RS08 support and some lack of compatibility testing.
Thanks for your patience.