I pretty sure none of those are issues if you just build your custom filter properly with the knowledge of what it is supposed to do in the end.
Also like I said in my earlier response, you can tinker around with the display boxes to possibly get some sort of horizontal filter
Names Default To Here(1);
colcount = 3;
dt = Open("$SAMPLE_DATA/Car Poll.jmp");
dist = dt << Distribution(
Nominal Distribution(Column(:country)),
Local Data Filter(
Conditional,
Add Filter(
columns(:country, :size, :type),
Display(:country, N Items(3), "List Display"),
Display(:size, N Items(3), "List Display"),
Display(:type, N Items(3), "List Display")
)
)
);
ldf_ob = (Report(dist) << Top Parent)[Outline Box("Local Data Filter")];
lub = ldf_ob[LineupBox(2)];
lub << N Col(colcount);
For(i = 1, i <= colcount, i++,
lub << Prepend(Spacer Box(Size(200, 0)));
);
Write();

-Jarmo