SWEC: generally speaking, you can see this parameter as a "step count". It's exact behavior is not that clear to me because it keeps going up and down but you can usually see a pattern close to this:
Also, sometimes the incrementation (or decrementation) is "hidden" from us... or at least it is not recorded. In that case, you will need to capture and save it's current value from the response body of the previous web request. Once SWEC is correlated properly in your Actions, I've found that you won't need to reset SWEC. Of course, that means you could potentially end up with a very large SWEC number at the end of your run so the reset would be more useful for readability and debugging purposes.
SWSECancelID is also another Siebel tool used to validate a request. It is closely related to the TimeStamp parameter and so, is used to verify wether or not a request is authentic. If you don't correlate this, and run your script, your first iteration should pass normally but you should get a "server busy" error on the second one.
Rowid is a parameter used mainly as a signature to records in Siebel. It is required that you feed in a valid and adequate rowid if SWEReqRowId is set to 1 in a specific web_submit_data. Otherwise, you can put an empty string or a cheese cake recipe as a rowid and you won't get a warning. In other words, SWEReqRowId determines wether or not the parameter SWERowId will be used to pinpoint the position of the record to "retrieve".