У вас разные запросы, дающие разный результат. В первом случае поиск происходит по двум диапазонам, а во втором по одному диапазону. В первом случае требуется составной индекс, которого нет. (Хотя индекс наверное не поможет).
1. Выполняется поиск записи с максимальным StartNum, но не больше 1385960996 и минимальным EndNum,
но не меньше 1385960996.
2. Выполняется поиск записи с максимальным StartNum, но не больше 1385960996.
Если у этой найденной записи EndNum<1385960996, то не возвращается ничего.
select id, category_id, post_id, added
from tbl
group by id, category_id, post_id, added
having (@b:=category_id)+(@c:=ifnull(@b,0))+(@a:=(ifnull(@c,0)<>category_id))+1 and @a
order by category_id, added desc;
Эти запросы будут не корректно работать, если колонка category_id содержит лишь одно значение, либо переменные @b, @c будут изменены между вызовами запросов. Это можно исправить, но я не стал этого делать, что бы не усложнять запрос, что бы вам было проще его понять.
Я думаю стоит начать с визуальной проверки конденсаторов на материнской плате,
и если не лень разбирать блок питания, то и там. (об этом уже сказал RomAndry, поэтому я не написал сразу).
Верхняя поверхность конденсатора должна быть ровной. Если вы видите
такое, то вам прямая дорога в сервисный центр:
Оно так и делает во втором случае. А в первом случае делает так:
«Найти с помощью индекса запись ближню к 1385960996 (это 22 сравнения, log2(3620777)=22), а потом у этой едиснвтенной записи проверить EndNum