The confusion usually comes when controlling things other than keyboard-style instruments with MIDI.
MIDI doesn't know anything about musical notes. Its job is to send numbers. When those numbers are sent to pitched instruments, the sounds that come out by default to a standard set of pitches. But they don't have to, MIDI "note" 53 can be interpreted as "toggle that spotlight on and off," or it can be interpreted as "play a closed hi-hat sample."
In GM drums, 36 and 38 are "bass drum" and "snare drum." It's this way because some people sat down and probably decided it would work pretty well with keyboard controllers. "Bass drum" and "snare drum" are not C1 and D1 or C2 and D2 or C and D anything.
So, send a number, get a pitch. That's how two synthesizers can talk to each other without running into trouble with octaves: they are just sending numbers, they're not sending "C#" or any other note. Trouble starts to happen once we assign other names to a pitch, calling it "D2" or "C3," or whatever. MIDI knows the number for "the A above middle C" because "the A above middle C" is a pitch, 440Hz.
So when I think about MIDI in theory, and when trying to control things that are not piano-like, I find it best to just think in terms of numbers. My sequencer puts out a 36 for a kick drum, so whatever's listening, I should set that up so that it, too thinks 36 is a kick drum. Breaktweaker switches gestures with certain MIDI notes (which are just numbers), so it's up to me to keep Breaktweaker happy by sending it the right numbers.
In practice, what I wind up doing when I run into trouble is using Cakewalk's Transpose MIDI effect and setting it to either +12 or -12. First I try one, then the other. In the case of Breaktweaker, I think I had to set it to 24, because Breaktweaker was way off. I could sit down and figure it all out every time I run into problems, but it's way faster to just do trial-and-error and then possibly make a template or note as to which device or soft synth needs what transposition. Or just trial-and-error it every time. If I relearned it every time and and figured it all out I'd probably still have the same chance of getting it right. With the Transposer, I have a 1-in-2 chance of getting it right the first time, and a 1-in-1 chance of hitting it the second time, so it's much faster, and I can get on with making music rather than doing math.
If there were a "culprit" and we figured out who it was, Cakewalk, Studio One, or Addictive Drums, we could post a message on the corresponding forum for their developers to ignore and still have to Transpose our way out of it.
(Dr. Laurence Peter refers to this tactic as doing a "Peter Polka" around a problem: I realize that I'm not likely to understand or remember it using my usual methods of understanding and remembering things, and trial and error with Transpose takes about 15 seconds per incident, so the cost:benefit ratio is in favor of Transpose. Frees up my brain for other uses, and who knows, maybe the insight will come to me in the shower, as insights often do.)
The other corrective measure would be to use a custom drum map. My struggles with Cakewalk's Drum Map are the stuff of legend, so I avoid it unless I'm up for a laugh. Another tried-and-true method is to put sticky notes or board tape above your controller keys.
Windows has "enhancements" built in that should be disabled for accurate monitoring, and many times, especially if you're monitoring through the onboard CODEC, there will be other software that comes with the PC that is designed to help small PC speakers imitate movie theater sound. You need to find all that stuff and turn it off. Look in the system tray in the lower right corner of your screen.
Cakewalk isn't subject to those enhancements if you're running with ASIO driver mode (including ASIO4ALL), and I think even WASAPI Exclusive bypasses them, which explains why it sounds one way in Cakewalk and another with programs that just use the standard Windows drivers for output.
Welcome to the forum. Lots of good help available here.
Are you having problems with only this one project you have been working on, or can you create a new project and play an audio clip or soft synth?
Have you checked the Hardware Outputs (it's a pane on the far right in Console View)? Make sure that your playback device isn't muted or turned down. Is your Master bus set to output to your playback device? Do you see any movement on the meters in the Hardware Outputs section when you play your project? When you open Preferences/Audio/Devices, is your output device listed there and enabled?
Onboard hardware CODEC's are fine for playback and monitoring purposes. It's only for recording audio that an outboard audio interface will become necessary. The fact that other sounds in Windows are working means that whatever device you're using to listen to playback from your computer is functioning, so the thing to figure out is what's gone wrong with Cakewalk and/or your project.