Here is my opinion:
1. In MOST cases, option B should be the best. A large layout with too many sprites will obviously cause lag, and there is usually no need to give each level a separate event sheet.
2. Tiling is better if you have a background that can be tiled. If you don't, then the only option is a sprite background ;). Also think about stretching small rectangles for large areas of color with a low download.
3. It depends on the type of obstacle. However if you think about it, you can make almost any shape with just an arrangement of stretched/angled rectangles.
4. This is up to you and your game.