Take this feedback with some consideration that I am a professional game designer, who owns a video game company.
First off I would like to congratulate you on completing a solid demo. A great milestone, especially for a side project. There are of course things that could use improvement, but you did a lot of things right, mostly in the programming sector. I'll start off with some minor things, then dig deeper as I go along.
This may just be me, but I think X slides down walls faster than the SNES games. This threw me off at first, as my 'muscle memory' for playing SNES X games was causing me to miss a few timed air dashes off of wall drops for a while until I adjusted.
When triangle kicking (wall kicking) there seems to be some issue with how long you hold the button down. If you just tap the button, x goes for a longer jump up than if you held the button for a split second and then released, which causes X to immediately stop ascending. If tapping the button acted this way, the lava & spike ceiling segment would be much more manageable.
Now on to the rest.
Flat out, without absolute certainty, I must say the game is way over the line on difficulty. I STRONGLY urge you to completely reconsider on this. We do NOT need another MM Unlimited disaster.
This stage is very much like a prototype stage, and does not feel like final material. I would suggest you redesign this Maverick's stage from the ground up, using what you've learned so far. The difficulty needs to tone down severely. There are a few simple things you can do to adjust the difficulty without losing the concepts you have. As it stands now, this is very literally on par with what I would expect from the final stage, not fit for a normal Maverick stage.
Remember that you can always apply these stage ideas into the fortress stages with added difficulty if you feel their application in the 8 selectable stages were not enough.
First off, the lava and spikes section has to be toned down. I would introduce the element into a smaller area. Use blocks to narrow the shaft's width at the top. Then make it bigger, and introduce enemies after a short time. Right off the bat it is too wide, and the difficulty actually tones down once you get to the part with blocks in your way.
I realize why you made the lava instant kill, even when you're in the invincibility period. It is so you don't fall ahead of the lava, potentially to the point of never being able to come back in time and it looking a bit silly in the process. There are a couple of ways you can potentially mitigate this if you want to turn the immunity during invincibility back on (and I suggest you do).
My best suggestion is to have a floor, that moves with the lava, about 32 pixels under the lava surface I'd guess. If X were to fall down into the lava, and not die instantly because he is within his invincibility period, then he will be visibly covered in it, but still able to hop out in time.
This hard to pull off 'second chance' negates the need for the lava to do high damage, as the chances of escape are narrow as is.
To make this segment more manageable, perhaps provide a 16 or 32 pixel increase to the gap between the ceiling and lava surface. The current size isn't impossible, but i'd expect this stage gimmick to appear within the final stages as well, which would be much more suited with the current gap size to add to the challenge.
Remember that you always want to teach the player of a mechanic or gimmick before throwing them right into the challenging segment. Teach them with the maverick stage, and make them apply it to a higher degree in the fortress stages. It would make for a good HOLY [parasitic bomb] ITS BACK moment later on in the game.
The jump at the end I know people had some issues with. It was a neat touch and a nice OH [parasitic bomb] OH [parasitic bomb] OH [parasitic bomb] moment. It needs only one thing though. A warning of some sort. There are a couple of ways to minimize the issue. My best advice here is to have a tiny segment before the big jump, that demonstartes what will happen. The ground you land on should be clearly visible on the other side of the spike section for this tiny pre-application of the stage gimmick. Doing a standard dash jump should easily clear it. You just want the player to see and understand the mechanic. Then you give them the large jump.
Otherwise, make the initial jump of the gimmick shorter, so there is less margin of error and it is easier to time. Likewise it may be worth trying to keep the bottom from narrowing, just the top. This is a stage gimmick thats best used for looking threatening, which is a thrill, but not being actually harmful and easy to navigate. The impending threat of spikes and no ground is enough to give the sense of thrill, without actually being a danger to the player.
Again, this feels like something much more fit for the final stages. In fact, I would recommend moving it there exclusively, due to the epic feel of it.
Moving on to bosses.
The mini boss has some frustrating elements to it's pattern that should be addressed, and are thankfully easy to.
First off, the boss goes too high on the screen, to the point wher eyou cannot effectively hit him with a charge shot. When he camps up at the top where its not really possible to hit him effectively, it becomes frustrating, not necessarily difficult. I would suggest to lower his max allowed height, so that it is still possible to hit him with a charge shot. Failing that, you could code it so that after he does one action at the top, he automatically returns to the middle position. In fact, it may be worth trying to see if it works better if the AI is forced to move to a new height after every one or two attacks regardless of where he is. Or a combination of the two.
I would also change the falling rocks. Have them actually just cover the whole middle, instead of randomly falling in positions. Space them so they fall evenly enough to cover the entire middle. For visual variance, change their Y position a little when they're created, so they fall at different 'heights' but no more than 16 pizxels of variance. It could be as simple as a random chance 1/3 to get a set +0, +8, +16 variance. This would look more SNES X series retro anyway.
On to the Maverick boss himself.
For the most part this is pretty good, but as with the other there are a few things to change.
Firstly, the lava pillars. I like the idea, but there are a few things that should be changed, which don't impact gameplay at all. It all boils down to player guidance and information. Have the 'burners', defined as the floor blocks that look like a cylinder where the lava spout erupts from, flash completely orange, not jsut a small segment of them. It will make the animation much easier to see. It doesn't decrease the difficulty as much as the annoyance and frustration the player feels when he does not see the warning sign.
Along those lines, I would suggest to put arrows pointing upward, on the floor blocks between 'burners'. As this is the spot you need to run to, to avoid the lava splash anyway. It may be a subtle hint the player picks up, perhaps not even conciously, but improves the flow and direction of the battle.
On a related note, since the boss' lava splash sprites do damage you, the ones viewed earlier in the stage during the ride armor segment, which use the same sprite (I realize these flash and the boss ones don't but it's still inconsistent for using the same sprite), should also damage you to be consistent. Or, use different imagery for one or the other. However, I do think the added damage would be better. It would make the pillars more threatening to the ride armor, and wouldn't be as easy to pass without damage. I also think the pillar's contact damage should be higher to the ride armor. The boss' damage ratios are fine as is. Also, the leeway on contact to the lava fillar for the boss battle could stand to be reduced very slightly. It's a tight fit between the pillar and the closest falling lava ball.
Again related to the lava pillars, the boss falls too fast after wards, when he ends that pattern. This wouldn't be an issue if his contact damage hit box was smaller, but he will fall right on X and damage him (while turning around if I recall correctly) with little room for escape as a result. This is jsut a cheap hit, not true difficulty.
The crecent shots the boss throws out may need a little adjustment. The top one always seems to block my charged shot, and its hard to get a clean hit in, unless you use the smaller green charge shot, or the uncharged shot. It doesn't need much, just enough to get a clean hit in. You're punishing for improper movement with this attack, but should allow in clean hits if you're in no danger of being hit yourself. Alternatively, the second shot appears a moment after the first, or vice versa, giving a small opening to attack. I think appearing a split second after would be better than appearing before to keep the challenge up.
The jumping arc of the boss can sometimes be too quick to actually get out of. Perhaps just reduce the X movement speed for the boss' jump a tiny bit.
This is all I have for now. Again, very good work getting a solid demo rolling, but please do take these suggestions into consideration. I don't want this project to end up like Megaman Unlimited did. What a disaster that was.
Just remember this saying, that I live by for level design and difficulty balance:
When you think your game is just right, then it is too hard. When you think your game is challenging, it is way too hard.
Remember, there is always the potential for a "Hard Mode" later, even in a post release update.