Here's how I see it:
If they get what they paid for and they're happy, I've done my job.
I recently did a double dipper which included an automotive service shop and an assignment to photograph the entire parking lot for a striping project. My time on the automotive service shop began when I entered the building and ended when I exited the location. During the required wait time for the automotive service I photographed the lot. That job started with the time on the first picture and ended with the time on the last picture. As far as I know they got what they paid for and they're happy. I did my job(s). I don't see anything wrong with it.
If they had both required a $1.00 purchase (which they didn't) I could have made a $1.00 purchase and collected twice, or I could have made two $1.00 purchases and collected on each one. I don't think either process would have been "wrong" or "unethical" because they would have both specified a $1.00 purchase and I would have provided them with a $1.00 purchase receipt.
Had I made a $25.00 reimbursed purchase on a shop, I would not then return that purchase for a refund to that client because that client already paid me for it and I don't agree with the idea of expecting the same client to pay me for it twice. I would not hesitate to gift it or sell it elsewhere, which would provide exactly the same financial result as having two clients reimburse me for the same purchase. I see this as complicated and I believe we should all do whatever we think right and pay no mind to anyone else.
I would like to comment on bgriffin's practice of doing hotel shops while on routes and then also collecting the hotel fees from other MSCs contracting other jobs on the same route:
Brilliant! Bravo! Ding ding ding!
Mary Davis Nowell. Based close to Fort Worth. Shopping Interstate 20 east and west, Interstate 35 north and south.