It seems that searchpos doesn't match under the cursor, when the cursor itself is on the first column. You can try the simple search pos command below, and try searching for anything non-whitespace. Even with the 'c' flag, it will still move the cursor to the first matched character on the previous line, instead of matching the character in the first column.
call searchpos('[^[:space:]]', 'bWc')