I have not checked this my self, but i understand that "procedure whatever" if never used then is never compiled. Variables defined but never used are not compiled neither; however much likely this is not true with procedure and variables inside a class.

If you define a record type:

mytype = record
a:word;
b:integer;
c:string;
end;

var
K:mytype;


Just becouse you never used field K.b in any place in your whole program dosent mean that the compiler "edited" your record structure. Well i am sure same happen with variables and procedures inside classes; the compiler could cut the whole class if never used but i dout it will cut class elements from in.