Blender 2.6 - Smoothing Groups with Subdivision Modifier

I’m experimenting with using the subdivision modifier to create high-poly models for use in normal map baking. However I’m running into problems when it comes to fine-tuning the smoothing of the mesh.

I’ve used Creases to sharpen up corners on the mesh which is helping, but the problem is that some areas still aren’t smoothing well. Note the two images:

In the first, what’s supposed to be flat surfaces aren’t quite right. There model here is still smoothing the walls of the inset areas, even though it shouldn’t be. The end of the model should also be a flat, more consistent surface.

I’ve also tried setting Smoothing Groups, and get this:

Note that on the top part of the image, the edge of the sunken areas is in a sharp corner as it should be (red line). However, the upper surface now has a curved corner (blue line). In the bottom part of the image, note the gaps that have been created between the end of the model and the surrounding faces.

Can anyone point out what I’m missing here?

Nevermind, friend helped me figure it out.

Disconnected verts?

Nah, all the verts were properly welded. Ended up marking the edges as Sharp and applying an Edge Rip or whatever modifier that is.