I am posting this in case people in the future have similar issues. I have seen several archived posts describing many of the symptoms I was seeing, but didn't see any definitive solutions posted.
Basically, I had a button to add a user. The action behind the button was to redirect to another page within the same application. I added a dynamic action for onclick of the button to provide a confirm dialog with a message. Whenever I would run it, it would pop up twice. I also tried removing the dynamic action from the button click and moving it to the "on submit" for the page. It still happened twice. I tried deleting all of the dynamic actions and instead wrote manual js in the page definition to bind to the click event for the button and run the confirm dialog. Still fired twice. I tried in several browsers. I also, turned on F12 browser developer tools and saw no errors or warnings. I turned on APEX Debug and watched through the console in developer toolbar and noticed that it seemed like all js (at least all that showed up there) were firing twice. I logged out, closed browsers, cleared sessions, everything imaginable. Then I tried to do the same thing in of my other apps, and it worked fine.
Around the same time I also started noticing that the APEX "Show Edit Links" were doing weird things. Sometimes they would show up without me clicking the button to show them. The button also always said "Show Edit Links" regardless of whether they were already showing or not. It never switched to "Hide Edit Links." I had seen something similar before where I had made a mistake in the page template that impacted the toolbar, so I decided to check out the page template. I know I had recently made changes so maybe there was something wrong in there. After looking through it, I realized that when I copied and pasted from another template, I had accidentally pasted duplicate regions and duplicate </body></html> tags. I cleaned the template up, and it fixed everything. Now, the "Show Edit Links" feature works just fine and now my dynamic action works fine. Also, when watching through the console log while debugging I don't see anything else duplicated either.
I am a pretty bright person, but I couldn't tell you specifically how having the duplicate ending tags or regions caused those issues, but removing them definitely fixed them. I have also seen other oddities when making mistakes in templates, so definitely be careful when editing those!
Just thought I would post for the next sad soul who might have this issue and perhaps save him/her hours of troubleshooting.
In this case, I was working in our old APEX 4.2 environment with Windows 7 and multiple browsers (Firefox, IE, Chrome)
Jen