Boudi - not sure if still relevant since your post is from 2009 but the answer to your question about fixing sorting is fairly simple. Turns out the problem is in the save routine, when saving an element to the database it is not properly saving the new item so it's always at position 1 and as a result they are all at position 1 so they all have the same sorting arrow which throws an error if you try to sort.
Looks like somebody renamed a variable and forgot to refactor completely or something because the code in the file "save_element.php" around line 54 is like so:
$category = $admin->get_post('category');
Then the code around line 71 that checks where the updated position should be for the new item is using the $category variable like so:
$query_position = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_catalogs_list WHERE cat_id='$category' ORDER BY position DESC ");
The problem is $category is never set to anything useful since there is no post data named 'category', instead it is now named 'parent' in the html form. So rename $category to $parent in the query and they will start adding properly going forward like so:
$query_position = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_catalogs_list WHERE cat_id='$parent' ORDER BY position DESC ");
To fix any previous entries you will need to manually edit the 'position' field in the database table 'mod_catalogs_list' to be valid incrementing non-overlapping numerals per category id. You could also remove the first setting $category variable code since it's not used anywhere anymore if you want to be extra smart

Hope that helps! I'll look into getting a patch into the module code as well. Just trying to give back to the wb community that has helped me so much in the past!
Also Mike it should work fine on different pages/sections judging by the code, just try it on a test system and you'll find out pretty quickly.