update_option creates an option, which empties on a blog reload

Where are you calling wp_applugin_options_process()?

If you call it, and $_POST["excludeid"] isn’t set, then you’re effectively calling:

update_option("wp_applugin_excludeids", null );

So if you’re calling this function on every page load, or even just when your admin page is loaded, then you’re automatically deleting your option. You should put a check in your function to make sure that the variable is set before doing anything with it:

function wp_applugin_options_process() { 
    if(!isset($_POST["excludeid"])) return;

    $arr = $_POST["excludeid"];
    $excludeid = implode(" ",$arr);
    $excludeid = esc_html( $excludeid);

    update_option("wp_applugin_excludeids", $excludeid );

}