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 );