I had to post this to find the answer...
I ran a test with bash... and the message is much clearer:
bash: line 2: cd: /bsatmp/effa54265bac36bd94fd79b411b2ac7f: A file or directory in the path name does not exist.
It's at that tries to cd to the working directory which no longer exists !
So the solution is to cd to the script's directory or any other permanent directory before calling the at command.
i think i ran into this when i was working on the cve remediation - yeah - you have to cd out of that tmp directory before running the at command.