You should not add references in mojoPortal.Web to your project and you should not customize mojoPortal code to avoid upgrade problems, just the opposite, you should reference mojoPortal.Web from your project and you cannot have circular references.
Structure your custom projects the same way we have them in our solution, like see the mojoPortal.Features set of projects or WebStore set of projects.
Your custom UI code goes into your own Web Application project which references mojoPortal.Web and other mojoPortal namespaces as needed. The main trick is that you use post build events to copy your files up where they need to land beneath the Web folder (mojoPortal.Web). Right click the mojoPortal.Features.UI project or WebStore.UI project and choose properties, look on the Build Events tab and you will see how you can use post build events to copy your files to the needed locations after build.
Then you never run your UI project directly, mojoPortal.Web is always the startup project for debugging purposes. You can still set break points in your code and it works just fine.
For more info see Setting Up Your Projects For Custom Development.
Hope it helps,