В этом случае i
связывается внутри замыкания на каждой итерации, что означает, что все функции, добавленные к объектам, указывают на одинаковую переменную, и, поскольку эта переменная была увеличена на каждой итерации, все функции см. последнее увеличенное значение.
Чтобы избежать этого, скопируйте значение в новую переменную внутри замыкания
for (var i=1; i<=5; i++) {
var o = $('#asd'+i);
(function(newi) {
o.mouseover(function() {
console.info(newi);
});
}(i);
}