I take that last bit back. I'm testing this out on a W2K VM I set up several years ago, that contains a working installation of ACS, that was installed using the stock ACS 3.x installer running on AOLServer. I looked at the code for db_source_sql_file, and it was identical to the 4.5 code I'm trying to get running.
So the problem seems to be in how pipes (" open "| sqlplus...") or sqlplus might work differently inside or outside AOLServer (?) Weird.