A: Your procedure parameter probably has the same name as one of the attributes in your cursor query. When the cursor query is executed, it is referring to the attribute rather than your parameter.
A: Your code running on westbur should not take more than 5 minutes. (The TA version runs in under 90 seconds.) The most likely culprit for the slow speed is that you are opening too many cursors. For example, you might be opening one cursor for each item of a seller to find all its bidders. If a seller has 20 items, it could cause Oracle to loop over the bids table 20 times --- once for each cursor. You should instead open a single cursor that finds bidders for any of the seller's items. This way, you only loop over the bids table once.
A: Your error is probably due to improper date format. Use ALTER SESSION to change the default date format to your format.