That's exactly right. Using JET to interface with text files can be problematic (as you've found) and quite slow. This is the whole reason that extracts exist. When you create an extract, Tableau actually creates a Firebird database underneath the hood - that's where the data is extracted to. This provides better performance and more SQL-related functionality, and is heartily recommended.
Well that certainly explains why extracts need to be stored locally.
Good strategy, BTW. And good choice of embedded DB!
How could I turn my current live connection into an extract so I can avoid these errors?