In forum_print_latest_discussions() there is the following code which has the effect that even when a forum is set to NOGROUPS or VISIBLE_GROUPS only the recent discussions from the user's own group are shown. Surely that needs to be changed?
/// Decides if current user is allowed to see ALL the current discussions or not
if (!$currentgroup and ($groupmode != SEPARATEGROUPS or isteacheredit($forum->course)) )
{ $visiblegroups = -1; }else
{ $visiblegroups = $currentgroup; }