Hi Sailor,
I suggest using rules and separate views in your InfoPath form to do the workflow. This is simple and will handle a 3-stage workflow. You don't need WSS Workflow since it will force users to go to SharePoint to approve forms and/or add a bunch of custom logic to the form anyway to access the WSS workflow.
Just add user roles to the form for Submitter, Approver, and Reader. Set Submitter to be Initiator and set Reader to be default. Approver should be set to a field in the form that contains the alias of the approver, or you can hardcode a list of people or Active Directory groups.
Next, add a group node to the main data source root node called "Status" and under that add fields for "State" and "AssignedTo".
Create three views: Submit, Approve, and Read-Only.
Add Open Rules that compare user roles and State and/or AssignedTo to switch views.
Submit view has a submit button that sets Status\State to Submit, submits form and sends email notification to next person (you can optionally add an assignedTo field to your view and allow them to set it). Approve view has an approve button that sets Status\State to Approved, submits form and sends email to Submitter saying it was approved. Read-Only view has no buttons.
Pretty simple stuff but does take some setup. I could demo this for you in 10 minutes. I'm assuming you are using the InfoPath rich client (not browser) since you said you have WSS 3 and that means you don't have InfoPath Form Services. User Roles don't work in the browser forms, but you can simulate them using an active directory web service to set a CurrentUser field in your form and then compare that in your rules.
Good luck!