I start vim from the directory of the project that particular MacVim window will be working on. From there I use NerdTree and Command-T to open buffers/tabs in the same window.
I do this too. How do you manage switching between open buffers, or closing one without closing the others? I don't have a good solution for the first, and for the latter I find I have to close nerdtree for :bw to work as expected.
I use bufexplorer[1]. There's something about minbufexpl's list that seems unappealing to me when it spans multiple lines. I also have CTRL-j/CTRL-k mapped to :bnext/:bprev. As for closing a buffer, my main window generally has a single vertical split, so I have the following kludge:
This creates another vertical window temporarily, advances to the next buffer in that window, activates the window to the right (which still shows the buffer I'm trying to kill), and then deletes that buffer leaving me with two windows again. Amusingly, my older machines were slow enough to catch a glimpse of the third window, but it disappears too quickly to see on my new machine.
:help CommandT
...
*:CommandTBuffer*
|:CommandTBuffer|Brings up the Command-T buffer window.
This works exactly like the standard file window,
except that the selection is limited to files that
you already have open in buffers.
and then later...
MAPPINGS *command-t-mappings*
By default Command-T comes with only two mappings:
<Leader>t bring up the Command-T file window
<Leader>b bring up the Command-T buffer window
Note that this is only available since 1.1b which was released in March.