Выход должен быть выполнен как можно позже и для данной целевой системы, в отличие от проверки, которая должна быть сделана как можно скорее. Применительно к вашим вопросам это будет означать:
Q1: ввод не должен быть экранирован (кодировка HTML) при вставке в базу данных, вместо этого сохраняйте исходный текст. Только при отображении текста в форме HTML, экранирование должно быть сделано. Чтобы смягчить SQL-инъекцию, используйте подготовленные операторы или экранирование для SQL, а не для HTML.
Q2: Поскольку мы не избежали преждевременного выхода из текста, ASP может выполнить экранирование исходного текста, и коды ascii не появятся.
Q3: декодирование не требуется, поскольку у нас все еще есть исходный текст.
В4: Насколько мне известно, ASP должен справиться с этим за вас, ваше приложение должно работать только с исходным текстом и может оставить HTML выходящим за рамки.