I've written (and still doing it) an application that is about 100,000 lines long (I know it's not the best measurement) so far in C#, .NET3.5 with database on SQL 2005 with about 2 million rows and 50-60 tables. I was the only one writing the code, creating database etc and it has many bad habits, noob mistakes, learning mistakes, shortcuts in code and so on. I was literally learning C# while implementing this in production, but the best part is it works. That application is used by 4-5 people in total and maybe in few years couple of more people will use it.
Would it be hard for external developer, or whole company to jump into the code add new features, fix bugs etc? And would it be fairly simple and not that expensive or would it be the opposite.
I'm asking this because I am being constantly under pressure of being too expensive and I have a feeling that they might try to kick me off and try to replace me with either new developer or whole company. I imagine it may not be so easy since i administer Exchange, SharePoint, Sql on 3 servers, support 50 users and code at same time but would like to know what are the chances that they take another guy and he knows what to do with it in fairly easy way.
So far I am saying to them that if someone offers you a better deal without knowing what I do, how things look inside, it's unprofessional (since I am the only one knowing our systems and Board has no idea about it, things they will tell to new guy, company will be way off to what I actually do) and in longer time it can be far more expensive (since they will most likely come for money when they find out there's a lot of things they weren't aware about).
Just to add some more information. I've been hired in company as normal employee to Administer systems and help users. In the meantime I found out one department was having 700 excel files to keep running his customers + couple of other excel files to merge it together. So they asked me if i can help and since i didn't knew how to program at that point I had to learn it. So I did. After having 45k lines and being finished with one department, and having another department in need (since they fired the guy who wrote their Access DB) i started writing application for their 2nd department. At this point crisis came and they cut my money in half, and told to start my own company (so they wouldn't have to pay for my life insurance etc). So I did, in my contract with that company it is written that i am supposed to finish application that I made, i have to fix bugs that come in a way. However for 5 pages long company contract there's only 2 lines about that application and rest is about me supporting them in terms of administrations, help desk etc.
The problem is that they want now to access total owner/author rights to my application and while I can say that what i wrote for them when I was employee is not 100% mine than I can say that what i wrote during my company to company deal is mine. But this is another discussion we're currently having with Board and it's partially related to my question.
Edit2: There's no documentation on code, and no unit tests.