This is because when you have “Automatically remove unused assets” enabled, GameMaker still returns removed animation curves in asset_get_ids(asset_animationcurve) but trying to query their info using animcurve_get gives out a slightly malformed struct.
You can either un-tick that checkbox during development or change
function live_api_asset_add(l_name, l_index) {
// live_api_asset_add(name:string, index:int)
/// @ignore
variable_struct_set(live_api_asset_index, l_name, l_index);
}
to
function live_api_asset_add(l_name, l_index) {
// live_api_asset_add(name:string, index:int)
/// @ignore
if (is_string(l_name) && l_name != "") variable_struct_set(live_api_asset_index, l_name, l_index);
}