"Select top 4 * From ilanlar where ilanbolum = 'Vasıta' AND onay = 'Evet' order by date desc"
SQL doğru görünüyor, Recorsete maximum 4 kayıt alacaktır. Başka yerlerde problem olabilir.
Bunun dışında ilanbolum ve onay alanlarını neden string tutuyorsunuz bu performansı düşürecektir. Bit yada integer data tutmak ve sorgulatmak gerekir.