Is it ethical to limit marks based upon past performance?
What you describe is, in my opinion, horribly unethical!

Yes, past performance is often a predictor of present performance, but there are so many other factors involved as well.  What if a student did poorly before because of any number of reasons, but have since stepped up their work, caught up, and really mastered the material?  Or what if the student has been focusing heavily on this subject and has consequently fared more poorly in another subject? 

It is manifestly stupid and counter to the entire notion of education to ignore good work by a student in one location simply because the student did bad work in another course or another time.  Ethical violations are a different matter---it is reasonable to be suspicious of a student with a history of cheating---but grading a student poorly for having the audacity to exceed expectations is a rank betrayal of the most basic responsibilities of an educator.