As for using yasnippets with tab, the following successfully binds tab
to yas/expand when I start emacs with
emacs -Q (skips loading customization)
and then evaluate the following elisp to load yasnippets and org-mode
(load "~/emacs/elisp/util/yasnippet.el")
(yas/initialize)
(yas/load-directory "~/emacs/snippets")
(add-to-list 'load-path "~/emacs/org")
(require 'org)
(add-hook 'org-mode-hook
(lambda ()
;; yasnippet
(make-variable-buffer-local 'yas/trigger-key)
(setq yas/trigger-key [tab])
(define-key yas/keymap [tab] 'yas/next-field-group)))
This works for me using a fairly recent Emacs 23 from cvs.