I'm not sure if this is your problem but many people have problems with field lenghts in progress.
There are some details here http://community.qlik.com/message/205020#205020
Basically, in the table definition there is a lenght of your fields but this lenghts don't need to be respected by the database, i.e. if your field is 30 characters long, it is possible to write a 50-char string.
The drivers cannot work properly under these conditions and you receive erros or only part of the tables.
There is a progress tool ( dbtools) to fix this problem.
Again, you might find more info in the link
Hope this helps,
It is most likely your ODBC connection. If you google on the last part of your error "Lock table is full 7870" you will come across this article:
...which educates on ODBC Default Isolation Levels. Your's is probably set to READ COMMITTED and you need it to be READ UNCOMMITTED.