There's nothing wrong with that code but it is possible that SW.exe is ignoring the startup state 'request' from the operating system. For example a GUI windows application written with a System.Windows.Forms.Form and a Load event handler with the following code will ignore ProcessWindowStyles from Process.Start(...). It will always show as Normal.
protected override void Form_Load(Object sender EventArgs e) {
WindowState = FormWindowState.Normal;
}
A simple way of testing if your SW.exe is going to behave as you would wish is to start it via a shortcut. Modify the shortcut properties and set Run to either Maximised or Minimised. If that has no effect then SW.exe is ignoring ProcessWindowStyles.
Alan.