I think I have it now, thanks very much for the info above, it was very close to being spot on. In this instance for some reason the table_prefix in wp_config had uppercase letters, but it was creating things in the db with lowercase. Note that this is on a windows server, so it should really matter, but it did.
So for example I had 21C2Pbf_ in the wp_config and it was making tables 21c2pbf_ for some reason. Simply changing to be exact in wpconfig made it work including the index table section.
Worth thinking about adding to the error message, you do a check in class-asp-dbman which is where I copied the code to check it was right / wrong.
Thanks so much for your help, hopefully on the right road now!