I think you've done what I tried to describe (but didn't to very clearly): move the Access application and the c++ program to the same folder. Then if you can run the c++ program from Explorer by doubleclicking it, you should also be able to run it indirectly by first doubleclicking the Access database and using runapp or shell from coding inside the database. I suppose that is what you do, although it's not 100% clear.
One remarkable thing in your post is that you use two different names for the program: first alshistorydata.exe, then alshistory.exe. Of course, they should be the same. I assume it's a typo.
If you get that c++ program running (as you seem to be doing, because you quote an error message that only can come from inside the program) you maybe better consult the author of the program for advice. Or do you get a different error message now, without telling so.
After all, you will easily be able to show that the shell or runapp command itself are working by running a program like Notepad.exe that way from withing Access. I've never used the commands but I don't real doubts about it. That should prove, more or less, that it's a problem within that c++ program.
There might be a work-around, but it's a rather poor one, maybe. Write a simple batch file that first runs the c++ program and after that opens the Access database. That has the text file then available without you clicking on a button. I don't assume you update the Paradox database from within the Access program (or you could just as well read it directly, of course), and if it doesn't change in the meantime (and why should it) there isn't a real difference.
Good luck, and let us know.