This doesn't happen if I start aquamacs without any customizations. From stepping through the debugger I first see that transient-mark-mode is true. I set it to nil in my .emacs file, and would prefer if it stayed nil, but other code sets it to a non-false value, causing it to kill the region rather than just kill the word.
Sometimes opt-d or opt-backspace deletes the word, but sometimes it goes to the end or start of the line respectively. I could comment out all the transient-mark-mode stuff out of the code, but I'd prefer either a hook to customize it, or a way of globally saying I never want any region deleted unless I select it with mark and point the old-fashioned way and use something like kill-region to delete it, or it's actually highlighted and then I can use a cua-style way to delete it.