I believe the problem is not the include within the If-then-else, if you debug step through your code, you will see that it will be executed.
I think the problem is that the lifetime of your SUB routine is limited to the scope of the THEN statement part.
For example, if you add your CALL DropTables just after the include, it will work.
Probably you don't want to put all your code within that THEN statement code group.
I think what you can do is something like:
set QVscBase =./test.txt;
//let testTime = FileTime('$(QVscBase)');
If not isnull(FileTime('$(QVscBase)')) then
i.e. including your code at the beginning (if the file does not exist, it won't throw an error, just doing nothing).
Then you might check for the existing of your file, exit if necessary.
then you can Call your SUB routines.
Hope this helps,