Trying to figure out Shawn's family tree is mind boggling. (Yeah I know it's a '90s TV sitcom, they were horrible with continuity back then.)
Maybe, just maybe ... here it is ... Shawn and Jack are not really half-brothers, but FULL brothers. Crazy theory, huh? But just hang with me here.
After Chet succumb to a massive heart attack in season six, the following season, Virna, the woman that Shawn always knew as his mother, informed him that she was not his biological mother. In a later scene, Shawn went to the cemetery, Chet's ghost appears and tells Shawn that his biological mother was a stripper. But what if this was a lie?
What if, Jack's mother was ALSO Shawn's mother. Chet and could've been with Jack's mother, had Jack, then a year later had Shawn. Things were going 'ok' but a few months after Shawn was born things began to unravel and go downhill. Jack's mother ends up leaving Chet and taking take Jack, who had just turned two, with her. She leaves Shawn behind with Chet because in her eyes "Shawn was too hard to deal with."
Jack and their mother go on to live a happy life in another Philadelphia suburb and marries Jack's stepfather. The three of them go on to live a happy life, which includes having another child - a daughter (who also is Shawn's half-sister). All while Shawn is being cast aside and left behind by Chet back in Philly.
Virna ultimately raised Shawn when his birth mother (Jack's mother) didn't want to, but it wasn't because she was a stripper. We are going off the words of Chet's ghost and while he was alive Chet wasn't always the most reliable person. Chet might have said she was was a stripper as a cover because he didn't want Shawn believing that his birth mother thought he was "too difficult to raise."
That would not have been good for a kid like Shawn who lived a tough life and was always dumped off on someone else - whether it was the Matthews', Turner's or the trailer park.
Even though Shawn mentions in the first episode of season five that Jack was his "half-brother" it was only because that is what Chet told him and wanted him to believe. But Chet didn't tell him the truth in order to spare Shawn more heartbreak.