The premise of flat rate is the notion that the price of a job can be quoted before a job is started. I believe you cannot know what the problem is — nor the solution — until frequently lengthy and substantial diagnostic routines and test dynamics and data are completed and gathered.
Since the time and effort required to find the problem of most service calls can vary wildly — and frequently is more time consuming than changing the offending part(s) — the suggestion of charging diagnostic fees is, in fact, guesswork.