The few times that I have been able to sit down and read a Utility - RAT contract, the perdiem was a straight pass thru. B doesn't get it from the utility unless you are working. The Utility determines if you worked enough (40 hours minimum usually) to get it paid to B. They stop paying it as soon as you leave. Most utilities pay if you complete 8 hours on your last day.
Oh, and as far as the other way techs are cheated - where B makes a bunch of money on interest by holding your pay for a week - most utilities are 60-120 days in arrears - they get billed, and the utility contract / procurement group pays that bill when they pay a bunch of others - after the outage is over. So the RAT co is actually fronting the pay, and getting reimbursed by the utility later. That's why bonuses are paid a month or two later - that's when the utility pays the RAT, and officially lets them know who / how much.
The above hassles were part of why being on the road got old.... 
I agree with a lot of this but I have an example, maybe it's the exception, but it happens. Working at a plant twice in the last couple of years we had a completion bonus. A nice one at that. The outage was over for nearly 8 weeks before I got that check. In fact, I was one of the last to leave as most others had earlier outages to catch. This check was delayed for nearly 10 or 12 weeks for some, both times I remember. I spoke with the plant management folks that actually see the billing and know what was paid and I was told that it is BS, the bill had already been paid and my contract company was obviously holding the money (in this case it was in the neighborhood of a couple hundred thousand dollars total for the group).
I am grateful that there are jobs that give a bonus and the wating for it is a minor inconvenience for me, but fair is fair and when you add up all of the things that could be improved...well, it's not hard to see why people feel a bit abused.
I can see why some think we get paid enough, or that a few shortcommings of a contract company aren't that big of a deal. I think that there is another important ingredient to this. And that is the incredible inconvenience this work can be. Being away from home and family for months at a time. I personally only see my wife and 4 year old daughter an average of 7 months/year. I am currently in Northern California and have not had any time off in 10 months, this is a good thing that I am working at a great job and I am grateful. However, it will have been a full year before I see my house again. By the way, that is a house that I still have to pay for and keep up while I am not there. I am not telling many of you anything, I am just making a point about what kind of extraordinary things you need to deal with and arrange in order to do this job. Is it really too much to ask for to get them to pay on time or pay fairly when it comes to things like travel, perdiem, a damn sick day here and there, affordable insurance or some combination of a few of those things. We are not in a "normal" industry and having a little better package than the day labor that Addecco supplies to production facilities with doesn't seem like too much to ask for.
I am currently a temporary additional for PG&E. I have worked Diablo a few times and now am at Humboldt Bay. I have seen what it is like for a company to go out of their way to recruit and keep the troops happy with a nice package. I wouldn't expect the same package from a contract company, that would be unrealistic. But even if they were to achieve 75% of what I have here, you would find nearly all of this complaining gone.
And that...is my opinion
