"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.