Can SE be changed to prevent such thing, like no off topic close on the new site, and it can only be kicked back to the original site (I guess rep change get reset during this process) and get down voted and closed there?
As far as I'm aware, something like this is already in place. If a question is migrated, only to be closed on the site it was migrated to, it'll be kicked back to the site it was first posted on, and the "This question was migrated..." message box will change to reflect that the migration failed. I think the question also gets closed automatically in this instance. I don't know whether any rep changes you accrued on the second site are reset, though.
I personally hate it when questions get migrated or redirected to sites where they're equally off-topic. It's a terrible experience for the asker, because their question's now been closed twice, and it's a terrible experience for the second site who has to, for lack of a better term, clean up the first site's mess. So I deeply sympathise with your plight.