Two options :
1)
. Get XVI32
http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm
. Open "Tsonic_win.EXE" in XVI32.
. Search for...
80 02 00 00 E0 01 00 00 10 00 00 00 00 00 00 00 00 00 00 00 20 03 00 00 58 02 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 03 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 C0 03 00 00 10 00 00 00 00 00 00 00 00 00 00 00 80 02 00 00 E0 01 00 00 20 00 00 00 00 00 00 00 00 00 00 00 20 03 00 00 58 02 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 03 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 C0 03
...in XVI32.
(Click on "Additional in-game shots" below)
. In order the resolutions are
8002 E001 - 640x480 16bit
2003 5802 - 800x600 16bit
0004 0003 - 1024x768 16bit
0005 C003 - 1280x960 16bit
8002 E001 - 640x480 32bit
2003 5802 - 800x600 32bit
0004 0003 - 1024x768 32bit
0005 C003 - 1280x960 32bit
Change one to your resolution, i.e. 1680x1050.
1680 - 9006
1050 - 1A04
2)
.Download Sonic Heroes v1.0 [ENGLISH] No-CD/Fixed EXE #1
Important: Set the resolution in-game to 640x480
.Download UniPatcher from "WSGF Link" above

.Patch it . The game will start at the resolution set using the UniPatcher.
You will need the widescreen fixer to make the format to become the actual widescreen.