I know this is an old post. I painted homes for over 20 years and learned a trick that is often overlooked. White primer is actually pretty close to a pure white. This makes it very difficult to cover in one coat of any kind of paint. Your father-in-law is correct in suggesting that you use a top quality paint to finish the job, but any top line name brand should suffice. When you are faced with this issue, buy Zinsser oil primer. Take it to the paint counter and have them put 1/2 of the formula for the finish paint into the primer and shake it for you. Yes, they will argue with you until they are blue in the face about this or that. However, the concept is not to match the primer with the finish coat, but to apply some of the pigments necessary to get a uniform color in a single finish coat. Also, you should consider cutting in all of the edges twice before rolling. At least do the top and bottom of the wall surface twice. If the old color is going to show at all, it will show around the edges for sure. You are going back with semi-gloss so touch up will not be an option or you will see a "flash" on the wall where you touched up. When you do roll the walls, apply the paint in a "backroll" fashion. I/E: Dip your roller in the paint, roll the paint starting in the middle of the wall and go up and straight back down. Then do the same thing 4 or five times in a row until you cover about 6' of wall space. You want the paint to be applied very thick but not running. Then "dry roll" over the entire area of the thick paint. Repeat this pattern until the room is complete. Don't stop long enough to allow adjacent paint to dry or you will get a "flash" in the paint. This process allows the wall to soak up the paint for a bit and when you back roll over it, the paint is thinned on the surface and dries faster. I have used this trick numerous times and it works well.