“Order” doesn’t work in custom loop?

Add orderby clause to your query! Here is the complete list of order parameters

 $loop = new WP_Query( array( 
        'post_type' => 'images',   
        'orderby' => 'menu_order',
        'paged' => get_query_var('paged') ? get_query_var('paged') : 1,
        'posts_per_page' => $per_page,
         ) );

This query order by the menu order that you have specified in your pages