Matt, something else just struck me when re-reading your post - the error indicates you're using Named Pipes to connect. The problem could be that Named Pipes is an authenticated protocol, but you're not passing any windows user credentials to authenticate. You're just passing a SQL uid/pwd which won't help you get the connection request across the network to the SQL box.
Try connecting through TCP/IP instead as that's not an authenticated protocol. Easiest was to do this is by adding Network Library=dbmssocn to your OLEDB conn string. (see http://support.microsoft.com/default.aspx?kbid=238949
for all the other options)