And with a bit more work (and help from others) I have it working. IPython, Org, Elpy, session or no-session. Still cannot set (elpy-use-ipython) which makes the IPython sessions a bit less awesome (no popup help, for example). But everything else appears to work.
(setq org-babel-python-command "ipython --pylab=osx --pdb --nosep --classic --no-banner --no-confirm-exit") ;; https://github.com/jorgenschaefer/elpy/issues/191 ;; https://lists.gnu.org/archive/html/emacs-orgmode/2014-03/msg00405.html ;; make IPython work w/ Org (defadvice org-babel-python-evaluate (around org-python-use-cpaste (session body &optional result-type result-params preamble) activate) "Add a %cpaste and '--' to the body, so that ipython does the right thing." (setq body (concat "%cpaste -q\n" body "\n--\n")) ad-do-it (if (stringp ad-return-value) (setq ad-return-value (replace-regexp-in-string "\\(^Pasting code; enter '--' alone on the line to stop or use Ctrl-D\.[\r\n]:*\\)" "" ad-return-value)))) -k.