The way I am reading the explanation in the page you linked to, it seems to me that "abstract override" doesn't actually change the behavior, but is only needed to override an abstract method. Otherwise, the traits are still stackable. 
I tried this:

class Foo { def foo = print("foo") }
trait Bar extends Foo { override def foo = { print("bar"); super.foo } }
trait Baz extends Foo { override def foo = { print("baz"); super.foo } }
object bazbarfoo extends Foo with Bar with Baz
bazbarfoo.foo

It prints "bazbarfoo". That's what we want, right?