It sounds to me like the issue may be that you're crowding the pan.
Basically, to get everything nice and brown and crispy, you need enough space for all of the steam to escape. That picture you showed has potatoes stacked on top of each other -- that means as the bottom items cook, they're going to end up steaming the items above them.
At a diner, they have a large griddle to work with -- they can really spread things out. You're not typically that lucky in a regular kitchen, as you don't have as much space, and you have a lip on the pans that'll hold the steam in.
So, either work in smaller batches, or consider recipes that use an oven -- using sheet pans instead of a pan on the stove solves much of the problem.
One other trick is that most diners don't start from raw potatoes -- maybe with hash browns, but not for home fries, you're not going to get the nice soft interior in a reasonable amount of time unless you start with a potato that's already been baked or boiled. (If you're doing things in the oven, you might be able to, but not in a pan)
Just for reference ... I have a 14" cast iron skillet that I use for home fries ... and it's about the right size for cooking a single large potato, which might be two servings, maybe three for kids. (I tend to cook carb-heavy meals).
update : I probably should've stated this directly -- you want the chunks of potato to form a single layer in the pan, with space in between them.
The coating you are talking about is potato starch that is browning on the bottom of the pan, similar to what happens to roux when it is prepared. If you deglaze the pan using alcohol, it will come right off without any effort (water works too, though more is needed).
As for how to get the potatoes not to stick, it's important that the pan and the oil are quite hot when the potatoes are added to the pan. As described at Newton Ask a Scientist, the hot oil encourages a steam barrier to appear between the potatoes and the pan, temporarily protecting the potatoes from sticking and encouraging the formation of a crust that will permanently keep them from sticking. Depending on the amount of potato being cooked, the amount of oil added to the pan will have to be adjusted for thermal mass, since the addition of uncooked potatoes will cause the oil to cool down very quickly.
Best Answer
Preheat the pan for longer than you expect, then preheat the oil as well. Cast iron takes a long time to heat up. With some foods you can get away with not preheating so it may seem silly to just let the pan sit on the burner with nothing else happening, but the potatoes will test your patience because of how much they can stick to pans.
Once you add the potatoes to the hot pan with hot oil, let them sit. They will go thru a stage of raw -> starting to cook -> cooked and starting to brown but sticking -> deliciously brown and movable from the pan.