We propose a novel deadline-based strategy in scheduling and rescheduling workflow applications on a heterogeneous Grid system. Instead of minimizing the makespan of a job by a greedy algorithm, our approach schedules tasks so that the overall job meets its deadline. The key innovation is how we allow some tasks to be rescheduled, in light of later job requests, to a different time slot or another resource instance; this can leave enough resource availability for more urgent tasks. In our rescheduling, tasks are rearranged individually within certain time slot boundaries so that the temporal constraints of each workflow are kept without needing to totally reconsider the schedules of other tasks. A performance study shows that more jobs can be finished before their deadlines and the overall resource utilization is improved. The rescheduling algorithm is efficient and scalable to large sets of tasks.