The problem is that you have been taking the car to the dealer. You need to take it to a trustworthy independent mechanic.
I can tell you right now that the frequent stalling and not starting is more than likely related to the OVERVOLT PROTECTION RELAY, which is only $50 and you can install it yourself.
The check engine light could be a number of small things, maybe the O2 sensor? WHich is about $150, I jsut a new one put in mine. You will need to know for sure what the codes are by using a hand held OBDII hookup, which the mechanic will more than likely possess. Your check engine light could also have come on from a rough idle, which could be caused by an old fuel filter, a $20 part commonly looked over.
Have your mom take it to an independent mechanic. Poor lady! It will hopefully be what I have listed above, a somewhat small amount of money, and not that big of a deal. Just don't take it to the dealer unless absolutely no other place can resolve the problem. GOOD LUCK!
2006 E350 w/ 155k miles (Daily Driver)
1993 300E 3.2L Sedan w/ close to about 300k miles
2003 E500 Brilliant Silver (Had 217k miles when totalled!)
1989 300E with 289,000 miles (had for <1 yr while in HI)
03 CLK 500 cabrio (Mom's)
2006 C230k (Dad's)
1999 S420 (Mom's/Dad's)
2000 C230k Sport sedans
2001 CLK320 Cabrio (Mom's)
1995 C280 My First Mercedes-Benz... (155k miles. EXCEPTIONAL AUTOMOBILE. Was Very hard to let go of!)