I have a (new in Lion) view-based NSOutlineView as Sidebar SourceList in my app using CoreData + NSTreeController + Bindings + NSOutlineView and an Object as NSOutlineViewDelega
In case it's not obvious to anyone:
You can set "Floats group rows" directly in Interface Builder.
select your Source List in Interface Builder's document outline.
show the Attributes Inspector, and you will find the "Floats Group Rows" checkbox. Untick it, and your nasty jumping group headings suddenly behave themselves :)
Alternatively, if you're in Swift, you can do something like:
@IBOutlet weak var sourceList: NSOutlineView!
sourceList.floatsGroupRows = false