Multiple matching in Maximum Flow problem?
Your approach works.  The situation you're worried about can't happen.  It appears you haven't quite fully grasped how the Ford-Fulkerson algorithms yet, so focus on getting more familiar with it.  It always finds the max-flow, and the max-flow always solves your problem.

The key misunderstanding is where you wrote:


  Running the Ford-Fulkerson algorithm on this, however, might result in one restaurant serving less than they potentially could


This is false.  That actually can't happen.  Work through the proof of correctness for the Ford-Fulkerson algorithm to understand why not: if there's a larger flow, then there will always be an augmenting path you can find to increase the size of the flow.

This was presumably an exercise to help you get acquainted with network flow algorithms, and it worked: it uncovered a gap in your understanding.  This is great -- it means you have something yet to learn about how the algorithms work.  What a great opportunity!  Now you get to spend some time communing with a textbook learning this lovely subject.  Have fun!