Checkbox Undefined index error in Plugin

You shouldn’t put quotes around the index for HTML names – otherwise you end up with 'single_images' (including single quotes) as the PHP name (so you’d have to address it $iwmp_options["'single_images'"], which some might consider confusing) … eg:

add_action( 'admin_init', function () {
    register_setting( 'iwmp_settings', 'iwmp_settings' );

    add_settings_section( 'single_images', __( 'Single Images', 'iwmp_domain' ) , function () {
        $iwmp_options = get_option( 'iwmp_settings' );
        // Note quotes around the PHP index, no quotes around the HTML index.
        // (Also id's should basically be alphanumeric with underscores/hyphens (for pre-HTML5 compatibility anyway).)
        ?>
        <input id="iwmp_settings_single_images_" name="iwmp_settings[single_images]" type="checkbox" <?php checked( isset( $iwmp_options['single_images'] ) ); ?> />
        <label class="description" for="iwmp_settings_single_images_"><?php _e('Use with Single Images', 'iwmp_domain'); ?></label>
        <br />
        <input id="iwmp_settings_single_images_zoom_" name="iwmp_settings[single_images_zoom]" type="checkbox" <?php checked( isset( $iwmp_options['single_images_zoom'] ) ); ?> />
        <label class="description" for="iwmp_settings_single_images_zoom_"><?php _e('Use Zoom effect with Single Images', 'iwmp_domain'); ?></label>
        <?php
    }, 'iwmp_settings' );
} );

add_action( 'admin_menu', function () {
    add_options_page( __( 'IWMP Settings', 'iwmp_domain' ), __( 'IWMP', 'iwmp_domain' ), 'manage_options', 'iwmp_settings', function() {
        ?>
        <div class="wrap">
            <h2><?php _e( 'IWMP Settings', 'iwmp_domain' ); ?></h2>
            <form method="post" action="options.php">
                <?php settings_fields( 'iwmp_settings' ); ?>
                <?php do_settings_sections( 'iwmp_settings' ); ?>
                <p class="submit">
                    <input type="submit" class="button-primary" value="<?php _e( 'Save Changes', 'iwmp_domain' ) ?>" />
                </p>
            </form>
        </div>
        <?php
    } );
} );

Also, just checking for isset() here on checkbox values makes things simple. And if you want to manipulate them then set a variable eg $single_images = isset( $iwmp_options['single_images'] ); etc. or use a wrapper function. (And as a side note for shortcode compatibility I find 1/0 handier then true/false.)