I had Aria Maestosa installed on my old computer, but never used it enough to offer any input or verdict.
There's a free* DAW for Windows named Anvil Studio that lets you edit MIDI in several ways-- list view, piano roll view, notation view, etc. *The core program is free, but has paid expansions that add more functionalities depending on your needs.
There's another free MIDI sequencer and editor for Windows named SynthFont, or SynthFont1. (SynthFont2 is not free.) It isn't a DAW, but it does let you create, load, edit, and save MIDI files. It has a piano roll view and list view. It was the first MIDI sequencer I ever used, back when I was just starting to learn about MIDI, and I found it to be easy to use.
I haven't used the free version of Cakewalk from Bandlab, but when I tried the demo version of SONAR before it got sold to Bandlab, I had some mixed reactions to its MIDI editing-- specifically, its SysEx editing. I'm not saying that it's problematic, just that it might take getting used to because of the way it works.
There's another free* DAW named Tracktion Waveform. *The newest version is not free, but the next-newest version is free if you purchase MIDI or audio equipment that includes it as bundled software, and the version before that is completely free for anyone.
We should probably ask you what your specific goals are, as that might influence the type of programs that we recommend. For instance, there are notation programs that let you write music in notation or score form, and let you import and export MIDI files. There are sequencing programs that let you sequence MIDI data to one or more external devices or virtual instruments. There are utilities for editing MIDI data in a piano roll or list view, and so forth.
By the way, when I say "list view," I mean the MIDI events are displayed as a list. Sometimes this can be a better way to edit MIDI, since each event in a MIDI file has a delta timestamp that indicates how long to wait after the previous event, and when two or more events are supposed to happen concurrently then the first event will have a nonzero delta timestamp and the additional concurrent events will have zero delta timestamps-- except, MIDI is read, transmitted, and received sequentially, so the concurrent events actually happen one after the other, not all at the same time, and in some cases you might need to make sure that event A happens first, then event B, then event C, and so on. That can be much easier to do in a list view.