Suggestion: Do not use back-slashes in paths in Ant - the back-slash is too often taken as an escape character.
The problem is that you load the properties file from within a target, but the classpath is initialized globally. Thus lines 19..26 are performed before lines 6..10.
You should either do all initialization within targets (I prefer this for complicated build scripts) or load the properties file globally (not within a target). I usually always load the properties file globally.
However your decision to move the properties into the build script is the correct decision. All project-relative paths should be defined within the build script itself. Use the properties file for external directory locations and other settings that can change from machine to machine or user to user.
By the way, if you are new with Ant, grab
Ant in Action - I have the first edition of that book and found it to be invaluable.