Did my first AG batch last Sunday using BIAB. Making the switch cost me much less than $10.
Cost of bag (pre-made, purchased from LHBS): $7
Cost of 13lbs two row: $19.50
What I would have spent on 9lbs of extract: $33
So switching from extract to all grain actually saved me $6.50 in the first batch.
The process also worked almost perfectly, with the only exception being I got my strike water a bit too hot, and even with the heat off and the lid off and holding ice packs on the sides of the pot, I was not able to get the mash temp down from 156F to my target 154F for about 30 mins. My recommendation would be to err on the side of too cool because (in my case at least) you can always add direct heat to get the temp up, but getting it down quickly is extremely difficult.
Regarding pots, I would say the bigger the better. I have a 10 gallon pot and just barely had room for 7.5 gallons of water and 14.2 lbs of grain. Which begs the question: do I really need to have all my water in the pot when I start, or can I mash with less water and then top up before the boil? I really can't think of a reason why topping up wouldn't work, but admittedly, I am new at this. Is the problem topping up with cool water? I could certainly top up with hot water since I brew on the stove and can easily heat up a two gallon pot on another burner. Leaving room in the pot during the mash and then topping up would also enable me to fine tune my temperature.
Finally, one note regarding efficiency: I was able to get 77% extraction. My LHBS recommended running the grain through the mill twice, which I gladly had them do. I do not have a control batch made with a single pass through the mill, so I can't comment on what effect the second pass had on efficiency. Unless I'm feeling nerdy and do a control batch, I will likely never know because I had no issues with bits of grain passing through my bag.