I bought a used engine from Bavarian auto recycling in Sacramento, ca for about $1000. I had it installed locally by a certified BMW mechanic for another $1000. Its much better than risking a rebuilt and cheaper too. All it takes is one little mistake and you will have to have someone take that engine apart again. BTW, if the timing belt snapped off, you will probably have to replace your head components among many other things. A engine swap would be the easiest, cheapest way to go.

If you're willing to spend some extra cash, drop in a 535 motor into it. You will appreciate the extra HP.