1st Issue:
Yes, 4 rounds is enough to have a clear winner at the top for 16 or less players. Basically, the easy way to tell if you've done enough rounds is to see if the top two players have the same record or not. With 15 players, and 4 rounds, you should have had only player at 4-0, then probably 3-5 at 3-1, etc.
I know of places that typically do 3-4 rounds, and then cut to either a top 4 or a top 8, but it really isn't necessary. The ONLY time I have ever done a tournament with a cut to a top group was the Championships at GenCon. The tourney I did at Dragon*Con (that you were in as well, now that I think about it) was just a straight up Swiss, and as you pointed out, so were all the other tournies at GenCon other than the Championships.
2nd Issue:
Strength of Schedule ALWAYS plays a factor. We had a question about that just yesterday because both the 2nd and 3rd place guys were 3-1. You will almost always end up with situations like that when doing Swiss events. It just happens. However, the DCI software is very good about determining who had the harder schedule to play (the number to the right side, usually like 68, or 55, or something like that for the 2nd place people, is the percentage of how often your opponents won).
What's really screwy is when the person in 3rd place actually beat the person in 2nd place. But it is possible, if they both end up with the same record (say 3-1) but the person in 2nd had to play much tougher opponents all day, while perhaps the 3rd place person played a couple of newbies in the first round or two. Actually, I've seen this happen several times to whoever loses the final game to the winner of the tournament. One person comes out of that game at 4-0, the other at 3-1, but based on how often their opponents won, that 3-1 person can sometimes get knocked down to 3rd or 4th place. It's basically an indication that you got to that final game by getting lucky pairings against weak opponents, and in the end, the Strength of Schedule calculation actually shows that other players were probably actually better players, just that they had tougher opponents.
3rd Issue:
They didn't do re-pairings at GenCon when a bunch of guys from our LGS all ended up playing each other in the Championships. Honestly, we have a decent group of guys from our store, and 3 or 4 that could have probably made the finals. However, there were at least 4 games were someone from our store had to play someone else. One of our guys played 3 other people from our own store within those 7 rounds. It's a random software, and if you are brothers/friends that play regularly together at the same place, you have to just be ready for that random pairing to happen. Heck, if both of those brothers were winning their games early on, every game they won increased the chances of them getting paired against each other. It's bound to happen eventually.
You're analogy about the newbie vs. the veteran is perfect. If the parents try to give you crap about it, just tell them straight up, "It's completely random, and it's not really fair to everybody else to re-shuffle everything just because you don't like it. If your kid was a pro and got randomly paired with a brand new player in the first round, and the new player asked to get re-paired with someone else, would you complain then?"
Life happens. "Get over it" is what my drama teacher in high school would say.