I'm not sure this will work in your case...
Define a custom category sorting method in main index template:
CODE
<MTSubCategories sort_method="MT::Sort::ByCatRecent">
...
</MTSubCategories>
Then create a file named "Sort.pm" under the directory lib/MT/:
CODE
package MT::Sort;
use MT::Category;
use MT::Entry;
use MT::Placement;
use strict;
sub ByCatRecent ($$) {
my ($a, $b) = @_;
my ($a_entry) = MT::Entry->load( { blog_id => $a->blog_id }, {
'join' => [ 'MT::Placement', 'entry_id', { category_id => $a->id } ],
'sort' => 'created_on', direction => 'descend', limit => 1 });
my ($b_entry) = MT::Entry->load( { blog_id => $b->blog_id }, {
'join' => [ 'MT::Placement', 'entry_id', { category_id => $b->id } ],
'sort' => 'created_on', direction => 'descend', limit => 1 });
my $a_date = $a_entry ? $a_entry->created_on : 0;
my $b_date = $b_entry ? $b_entry->created_on : 0;
$b_date cmp $a_date;
}
1;
__END__
Rebuild indexes.