Unable to remove meta box from custom post for all non admin users

Why are you adding metaboxes to non-admin users in the first page? Try this:

function PreparePostPageOptions() {

    if( !current_user_can('administrator') )  // add meta boxes only for admin
       return;

        global $WishListMemberInstance;
        $post_types = array('post', 'page', 'attachment') + get_post_types(array('_builtin' => false));
        foreach ($post_types AS $post_type) {
            if ($post_type == 'attachment')
                add_meta_box('wlm_attachment_metabox', __('WishList Member', 'wishlist-member'), array(&$WishListMemberInstance, 'AttachmentOptions'), $post_type);
            else
                add_meta_box('wlm_postpage_metabox', __('WishList Member', 'wishlist-member'), array(&$WishListMemberInstance, 'PostPageOptions'), $post_type);
        }
    }

In case you are wondering why your given code is not working. You are adding the function on wrong hook. You might want to try:

add_action( 'add_meta_boxes', 'remove_wlm_metaboxes', 9999 );