A friend of mine sold his machine shop a couple of years ago. He had been building engines for 20 years. He said the business has changed a ton in those years. Now there are so many crate motors and they are so (relatively) cheap that not as many people have older motors rebuilt. In my area, western South Dakota, which includes Rapid City, there are only (I think) three machine shops (and one is a racing shop) that rebuild motors. And Johnson Machine/Napa in RC only sells complete motors that they rebuild. They won't rebuild some Joe's motor off the street even. I was told this was for liability reasons.
My engine builder, in Belle Fourche, SD, is totally the opposite. I bring the parts in, walk around the shop area, I even could have been there and "helped" assemble the engine. When we dyno it, I will help with that too. Small town USA has its benefits!
It's all a business. So if profits are higher by requiring that you buy the parts from them, that's what the business will do. They have figured out that that is more profitable than the few extra clients they may have had by allowing them to bring in their own parts, etc. I would think that the more race/performance type work a shop does the more likely they will let you bring in your own parts. Heck, there ain't no warranty on it anyhoot when you're blasted down the quarter mile or circle track racing.