Applying my own css classes in wp_menus 3?

Do you need to modify walker or hook into it unmodified?

Since there is filter provided for that id, it is easy to hook into. Try this:

add_filter( 'nav_menu_item_id', 'modify_menu_item_id' );

function modify_menu_item_id( $text ) {

    static $myCounter;

    if( !isset( $myCounter ) )
         $myCounter = 0;

    return 'menu-item-' . ++$myCounter;
}

Update Changing walker

 // add to start of start_el method
        static $myCounter;
        if( !isset( $myCounter ) )
            $myCounter = 0;

and

// change id lines to this
        $id = $args->depth ? 'menu-item-' . $item->ID : 'menu-item-' . ++$myCounter;
        $id = apply_filters('nav_menu_item_id', $id, $item, $args);
        $id = strlen($id) ? ' id="' . esc_attr($id) . '"' : '';

I tried to exclude sub-menus by checking for current depth and I think it should work properly with multiple menus because each will get new instance of walker object.