You can use NOT EXISTS
to make sure there are no more recent records with a status other than "REGISTER" for a given mons_card_id
SELECT mons_card_id
FROM monster_registration M
WHERE M.status = 'REGISTER' AND NOT EXISTS (
SELECT 1 FROM monster_registration R
WHERE R.mons_card_id = M.mons_card_id
AND R.time > M.time
AND R.status <> 'REGISTER'
)
Working SqlFiddle