Good advice with the SQL Profiler. I have never used it before but it helped me figure out a little more about what was going on. I now see that the method with the insert statement call inside it is being called twice when it should be called once. The thing that is still amazingly boggling is that it is happening only at the remote server and not at our local one. From what I can tell, the only difference is that the first method call is wrapped with an if statement that checks for some hidden variable that is passed along on postback (that code is old and honestly should probably be removed) and the second method call is fired on a buttonclick event.
So, the hidden var is set to "1" via a little JS snippet on the remote server when the same button with the buttonclick event handler is clicked. However, it is not set to "1" and defaults to "0" on our local server. Now I am left wondering if some windows updates have changed the way that client JS executes (I am vpn-ing into this machine and running our app through IE7 on their server) on their end vs. ours.
Sorry for the lengthy explanation, but I couldn't think of a better way of putting it.