The comments crack me up. "My 12-year-old son ate three helpings!" Of macaroni and cheese with beef. Did she not serve some veg to balance the plate? Lol
Having two younger brothers and remembering how they ate (and how much) from pre-teen through teen, I believe it's entirely possible that she made him eat vegetables with his first helping and he still had room for the extra two helpings of the mac and cheese.
As to the question presented by the OP, I think the best answer depends on two factors, your personality and hers. If you know she is open to help with cooking and really trying to get better at it, then I would tell her you weren't real fond of it. But, I would be specific with what you didn't like about it and what might have made it more to your liking so that it sounds less critical and more constructive. I would also encourage her to continue trying, to not give up since practice and experience are the only way to get better. Depending on the person I might even share some of my own experiences in cooking something that wasn't good and what I learned from them. Taking advice from someone is often much easier if you know that person has had failures of their own.
If you are confident in your ability to give advice without insulting, and your skin is thick enough to take a mild backlash if she doesn't like your advice, and if you are easily able to sooth hurt feelings if she is offended, then I would also say go ahead and be honest. But again, be specific and be ready to offer encouragement if she needs it. Also make sure she knows you are grateful for her efforts regardless of the how good her food is.
If you know she is not looking for advice or you are not confident in your ability to give it without sounding too critical, then for now at least I would hold back. Give yourselves time to become more comfortable with each other. Then you'll have a better idea of when you can give advice and when you just need to leave things be.
In any case, if she invites you over for the same meal again, I would be honest about my dislike of the food, but I would center the focus on myself. "I appreciate the offer, but for me the tomato flavor drowned out the rest of the food and I just didn't care for it. But if you are making something else another night, maybe we can eat together then?" Make sure she knows you don't object to her or her cooking in general, just to that particular meal.
I think you definitely were correct not say something that might embarrass her in front of her friends and that your instincts to talk to her about the food privately show a great deal of consideration for her feelings. Based on your responses to other people's advice, I think you're instincts are good and you should go with what you feel is right.
That's my best advice. I hope your next meal with your roommate is a better one.