Ultimately the 2D unfold has to be flat, so a certain number of edges must be open for a completely flat surface to be created. The program will open along any user defined open edges first and then along any other edges necessary to create a flat surface (while which edges the program selects probably isn't arbitrary they're not likely to be the most helpful for creating effective unfolds). The only way the program will ONLY open along user defined open edges is if the user has selected any and all edges necessary to create a flat surface. Think of a cube, if you only defined one edge to be open, the program will have to select however many more edges needed so that the cube unfolds completely and the unfold is flat.
Unfortunately the open edge data doesn't apply 100% correctly when undoing an unfold. It's not that the program is ignoring the user defined open edges when you click unfold, it's that the user defined open edges get a bit messed up when undoing the original unfold and the output is a result of that. Also, keep in mind the program will never organize parts in the 2D layout in the same way as someone that has manually moved them around.
Unless someone expressly forbids it you're probably okay to modify someone's unfold, especially if it's for educational or personal use. It's not unlike moving parts around if you want to save paper by squeezing parts together. If you're looking to get into sharing unfolds it would be dishonest to slightly modify someone's work and then claim ownership of the new shared file but it doesn't sound like this is what you're trying to accomplish.
Hope that's helpful. Good luck with you project and future unfolds.