Made a couple of changes and made the request as simple as possible.
This now does stop and start the recordings but at the same time throws the error: The remote server returned an error: (401) Unauthorized.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://[username]:[password]@[wowza-ip-address]:8086/livestreamrecord?app=live&streamname=myStream&action=startRecording);
request.Method = "GET";
request.Credentials = new NetworkCredential("[username]", "[password]", "[domain]");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stm = response.GetResponseStream();
So it's telling me that it's not unauthorized but still runs the command.