I recommend redeploy the official package not your custom build and re-implement your custom dialog in your own project and do not fork the mojoPortal code nor compile your own code into the same dlls as mojoPortal.
I would make sure the mp_SiteFolders table has SiteID.
Maybe make a clean new installation and carefully compare the tables columns for each table one by one with your current installation. The error sounds like some table is missing the SiteID column, but it is not a column that has been added to any tables in a long time, maybe new tables have been created over time that include SiteID, but I can't think of any where we added it later after first creating a table without it.
The error stack does not really make it clear where the problem is happening. You could disabled 301 redirects and see if that solves it, if it doesn't solve it then you can know that was not the problem but it can help by process of elimination
<add key="Disable301Redirector" value="true" />
That's about all the ideas I have. Hope it helps,
Joe