Thanks for taking the time to help me out, CPD. While I was waiting to hear back, I did some more digging...
At this point, I was able to figure out the part about why the sqlsrv extension didn't work. php.net says you need the SQL Server 2008 Native Client to work with the sqlsrv extension.
This is no longer correct.
On March 6 (which happens to be the day I first attempted this), a newer version of the sqlsrv extension was released. The newest version (3.0) requires the SQL Server 2012 Native Client, which btw is backwardly-compatible with SQL Server 2005. Once I finally stumbled onto that crucial piece of information (which I ignored previously since I thought I already knew which version of the native client it needed), I installed the sql 2012 native client and was able to get the script that was connecting with sqlsrv working. Red Solo cup time!
Ehhh... maybe not just yet. In order to support our legacy code, I still need a working ODBC connection, and this didn't fix the problem with my ODBC-based script. (ODBC also relies on the native client.) Since I can now confirm I have a working Native Client, and the DSN I created which uses it says it can connect successfully, I'm now back to scrutinizing my own code.
It is now returning an error code of "28000" (Login failure), which seems to suggest the script is now connecting to the database, but not really sure since there is no sign of the the login failure present in the SQL Server logs. Since this is the same user name and password I'm using in my working script (that uses sqlsrv) - yes, I checked... about 20 times - I'm ruling that out as the problem. (For now... )
I'll just keep posting as I find out more, but feel free to jump in if you have any thoughts about this.
Thanks again for your help!