"Columns A, B, C ad indexed" does not mean much. You could have:
• index_1 (A)
• index_2 (B)
• index_3 (A, B, C)
• index _4 (C, A)
... as well as combinations. The optimiser chooses which index it can use based on the actual values you supply (between the quotes) vs the statistics stored for the columns. If the total of (A = "value1" plus A = "value2") represents a large portion of the table (based on stats), it may choose a table scan (incorrectly). Also the version makes a lot of difference. ASE 15.0 has a completely re-written optimiser, and it has not settled down yet.
If the second SQL returns immediately, that suggests a covered query; does you select lis contain A, B, C only.
Have you checked:
1 Update index statistics recently
2 There are no datatype mismatches (your code vs the table columns)
If you post again, please post DDL for the table and index, plus your SQL (you can obfuscate the table/columns if you need to).