It is not a good idea to start a batch file (or any other process for that matter) from within a web page. In fact, I believe that your problems may be related to very sensible security settings within .NET which will not by default allow you to spawn new processes.
If you have already developed the "bulk inserter" in C#, why don't you just refactor it so that the insertion logic can be called from the web page without starting external processes.
However, if this is a lot of data you will still have issues such as timeouts etc. In that case you are probably better off queuing up requests (using MSMQ or some database table as a poor-man's queue) and having an external process check the queue continuously (blocking MSMQ calls ) or polling the table.
If you need instant handling and you cannot use queues for some reason, an alternative may be to queue up a WorkItem. A WorkItem will be scheduled by IIS to run asap. Note, that it will occupy a dispatcher thread for the duration of the processing. You could issue a "ticket" to the requester can use Ajax callbacks or "meta" redirects to poll for WorkItem completion.