1. It should only run scripts in script order, it records scripts that are success by incrementing the row in the mp_SchemVersion table, it will never run a script with a version lower to or equal the version recorded there.
2. What are these tokens in your script
those are not correct and mojoPortal is not replacing those tokens with any values, maybe that is something used in YAF setup but needs to be changed, probably just replace the first one with dbo and the second with some prefix other than mp_ so it is clear it is not a core mojo table, maybe myaf_ would be good.
Really because of our versioning of scripts you don't need to check if the table exists and can assume it is does not unless the script runs success then assume it does, this can simplify the script if all else fails. Main thing is to pick table names that are not likely to clash and the prefix can help.