storage.set не записывает значения в переменные другим пользователям, к сожалению, во всяком случае у меня не получилось (отправить запрос через браузер и сохранить переменную другому пользователю приложения, почему то записалась как глобальная) вот пример как я делал (
https://api.vkontakte.ru/method/stor...&access_token=...), а getVariable и putVariable устаревшие это верно и стираются периодически значения записанные с помощью них.
сегодня, попозже попробую через приложение это дело провернуть, а то мало ли напутал чё, о результатах отпишусь)
ну не стал ждать проверил, всё как я и говорил
1. Записываю значение в переменную myKey

Код AS3:
private function storageSet(e: TimerEvent): void
{
//----------------------------------------------------------------------
/*
* storage.set сохраняет значение переменной, имя которой передано в параметре key.
* global по умолчанию = 0
*/
//----------------------------------------------------------------------
VK.api('storage.set', {key: "myKey", value: "1234", uid: "idДруга"},
storageSetTrue, storageSetFalse);
//----------------------------------------------------------------------
}
2. считываю переменную друга

Код AS3:
private function storageGet(e: TimerEvent): void
{
//----------------------------------------------------------------------
/*
* storage.get возвращает значение переменной, имя которой передано в параметре key.
* global по умолчанию = 0
*/
//----------------------------------------------------------------------
VK.api('storage.get', {key: "myKey", uid: "idДруга"},
storageGetTrue, storageGetFalse);
//----------------------------------------------------------------------
}
3. Меняю idДруга на свой id и всё равно выдаётся 1234