Benjamin - it is a bug. See the following test case:
tcl:
multirow create test f1 f2 f3
multirow append test I 1 a
multirow append test I 1 b
multirow append test I 1 c
multirow append test I 2 a
multirow append test I 2 b
multirow append test II 1 a
multirow append test II 1 b
multirow append test II 2 a
multirow append test II 2 b
---
adp:
<multiple name="test">
<h1>f1: @test.f1@ </h1>
<group column="f1">
<h2>f2: @test.f2@</h2>
<group column="f2">
f3: @test.f3@
<br>
</group>
</group>
</multiple>
---
output:
f1: I
f2: 1
f3: a
f3: b
f3: c
f2: 2
f3: a
f3: b
f1: II
f2: 1
f3: a
f3: b
f2: 2
f3: a
f3: b
--------
Now when one line of the data is changed in this way:
multirow create test f1 f2 f3
multirow append test I 1 a
multirow append test I 1 b
multirow append test I 1 c
multirow append test I 2 a
multirow append test I 1 a
multirow append test II 1 a
multirow append test II 1 b
multirow append test II 2 a
multirow append test II 2 b
---
the output becomes:
f1: I
f2: 1
f3: a
f3: b
f3: c
f2: 2
f3: a
f2: 1
f3: a
f3: a
f3: b
f2: 2
f3: a
f3: b
------
Which means it does not detect the change in column f1 and never repeats the outermost loop, which it should. I am adding this on bugtracker now.