You mentioned that sometimes the brokers have mistakes on their statements. I assume this means that you want to enter the data yourself rather than import it from their systems?
I don't have much experience dealing with multiple currencies. What exactly is your requirement for this? Do you just want to be able to apply the latest conversion rate for U.S. dollars to Canadian dollars, and vice versa?
Perhaps the best way for us to help would be if your could provide an exact list of the requirements that you need from the software, including the price range you're willing to spend. For example, I will input the following data and the following report(s) will be generated. Please list the exact data (columns) that you'd like to use for your data input and for the report output.