This was a well known issue and has been around for a while. The solution to this issue is built into qListView and qListForm. In qListView there is a property under Display tab in ezEdit that specifies the name of the HTTP parameter, by default it is "ID" and you can change it to other name, such as "CID", "TID" and whatever. You just need to make sure you specify the same parameter ID in qListForm. This should resolve your problem. If you do not have qListView in concert with qListForm for this scenario, you can change the parameter name in query string and modify the property in qListForm alone.
The explanation to the original issue may have to do with the ID parameter being used by the form page from SharePoint but I will need to dig to find the exact reason.