If you're using HGSS or a North American version of Platinum (I'm not sure what other games the trick works for), you can get your SID simply by drawing lottery tickets.
Click here. Unfortunately there's no English equivalent (you don't need to read anything though), but it's basically a giant calculator that stores every possible combination of IDs you could draw to deduce your SID, by backtracking to what's called the initial hex "daily seed" (consider it a seed for daily events that's generated every time your clock hits midnight). So what you want to do, is set up in front of Felicity/the lottery lady, and draw a ticket. When she tells you what ID you got, type it into the first, longest text box on the calculator. Then turn off your DS and set your clock to 23:59. Return to the game world and draw another ticket when the clock hits 00:00, and then put that one into the same box as well, separating the two IDs by either a space or a comma and space. You need to repeat this process a minimum of three times (three almost always does the trick though). When you have all your IDs in place, put your TID in the box underneath, and then just ignore the "2000" in the bottom box (If I'm correct it changes the size of your search; 99% you won't need it though). Finally, press the available left button underneath, and your SID should pop up along with some random hex values and Japanese, but the SID is obvious to see. And that's basically that; like I said though I'm not sure if it works for the majority of Sinnoh games, apparently the guy who made the calculator tested it to that conclusion.