How can I query posts with newly uploaded images?

This should do it for you.

If you’re calling it in a function, you’ll of course need to ensure $wpdb is the global.

$required_number_of_attatchments = 3;

$posts = $wpdb->get_col( 
    $wpdb->prepare( 
        "SELECT posts.ID
            FROM %s AS posts
            INNER JOIN (
                SELECT MAX(post_modified) AS modified, post_parent
                FROM %s
                WHERE post_type="attachment"
                AND post_parent > 0
                GROUP BY post_parent
                HAVING COUNT(ID) > %d
            ) AS attachments
            ON posts.ID = attachments.post_parent
            WHERE posts.post_type="event"
            ORDER BY attachments.modified DESC",
        $wpdb->posts,
        $wpdb->posts,
        $required_number_of_attatchments
    )
);

if ( $posts ) {
    foreach ($posts as $post_id) {
        $post = get_post( $post_id );
        setup_postdata( $post );

        // Do your thing.

    }
}