From my perspective you should be looking at turning this process inside-out and using PowerShell to execute whatever you're doing with xp_cmdshell, bcp.exe to load your file and sqlcmd or the ADO.NET classes to execute T-SQL. A new SSIS package would also be a great candidate to replace the T-SQL process. If you want to hear more about either of those options that let me know.
If you want to continue with everything in T-SQL:
Database Users are not the same as Server Logins. Database Users are not included in the sysadmin Fixed Server Role, Server Logins are. BULK INSERT requires server-level permissions.
In order to accomplish this task I would recommend you look into signing your procedure with a certificate based on a user in the master database with the server-level permissions necessary to call BULK INSERT as well as exec xp_cmdshell.
Signing Stored Procedures with a Certificate (SQL Server 2005)
There are no special teachers of virtue, because virtue is taught by the whole community.
--Plato