Aditya Mahajan
Here is a simplified picture. Basically, anything inside btex ... etex (or textext(...) or \sometxt{...}) is in what is known as TeX's horizontal mode. Think of this as what you will get if you put the same argument in a \hbox (see the TeXbook or TeX for the impatient for details). To get multiple lines you need tex to be in the vertical mode, a \vbox. A vanilla \framed is like a \hbox. Framed with align=normal is like a \vbox. So, for most purposes you can you \framed. There are some commands that need to know the width of the box (like \start stop formula). In those cases you need to specify width=something to \framed.
Of course, certain objects like floats, footnotes, marginpars, will never work inside metapost. (I think you can get floats and footnotes to work, but that will require some hackery)
Aditya
Thanks very much for the explanation. Now I understand much better. I remember reading about the importance of horizontal mode and vertical mode in the Seroul and Levy's book I think.